in frontend/src/services/TickFormatter.ts [64:116]
function formatNumber(
num: number,
largestTick: number,
significantDigitLabels: boolean,
columnMetadata?: ColumnMetadata,
percentage?: string,
currency?: string
): string {
if (isNaN(num)) {
return "";
}
if (columnMetadata && columnMetadata.numberType === NumberDataType.Currency) {
currency = columnMetadata.currencyType;
}
if (
columnMetadata &&
columnMetadata.numberType === NumberDataType.Percentage
) {
percentage = NumberDataType.Percentage;
}
let formattedNum = formatSignificantDigits(
num,
largestTick,
significantDigitLabels
);
if (!percentage && !currency) {
if (formattedNum !== num.toLocaleString()) {
return formattedNum;
} else {
return num.toLocaleString();
}
}
if (percentage === NumberDataType.Percentage) {
return formattedNum + `%`;
}
if (currency) {
if (currency === CurrencyDataType["Dollar $"] || currency === "$") {
return `$` + formattedNum;
} else if (currency === CurrencyDataType["Euro €"] || currency === "€") {
return `€` + formattedNum;
} else if (currency === CurrencyDataType["Pound £"] || currency === "£") {
return `£` + formattedNum;
}
}
return num.toLocaleString();
}