1
我有这个直接的JavaScript函数,它使用d3-format将字符串和货币代码转换为格式化数字。d3格式的数字不显示千位分隔符
import * as d3Format from 'd3-format';
import d3 from 'd3';
export const toCurrency = (number, currencyCode) => {
const formatDef = {
"decimal": ".",
"thousands": ",",
"grouping": [3],
"currency": [convertCodeToSymbol(currencyCode), ""]};
const locale = d3Format.formatLocale(formatDef);
return locale.format("($.2f")(number);
};
const convertCodeToSymbol = (currencyCode) => {
const conversions = {
"USD": "$",
"EUR": "€",
"GBP": "£"
};
return conversions[currencyCode] ? conversions[currencyCode] : currencyCode;
};
它的工作原理除了不显示千位分隔符外。鉴于(1999,“美元”)它返回“1999.00美元”。我已经对文档进行了双重检查,但数千和分组属性看起来都是正确的。我正试图获得“$ 1,999.00”。
(注意,进口D3线是没有必要的,但我把它只是为了确保我不缺少库的一部分。我已经安装了D3和D3-格式NPM)
啊,当然。现在我的测试通过了,谢谢! – Mike