D3 Wiki描述了格式,以及如何使用d3.format("$.,2f");
将数字格式化为美元值。但是,使用d3.format("€,.2f");
将数字格式化为欧元值不起作用。这样做的适当方法是什么?
答案 0 :(得分:6)
2016-07-06编辑:以下答案对d3 v3.x有效。自v3 4.x起,d3.formatLocale
看起来与d3.locale
相当。
应该保留美元符号,因为它意味着"货币"。
您需要做的是使用d3.locale()
函数定义区域设置(参见documentation)(d3默认为en-US
)。
以下示例为所有属性保留en-US
参数,但货币除外,其中$前缀被€
后缀替换(使用:"currency": ["", "€"]
完成):
var NL = d3.locale ({
"decimal": ".",
"thousands": ",",
"grouping": [3],
"currency": ["", "€"],
"dateTime": "%a %b %e %X %Y",
"date": "%m/%d/%Y",
"time": "%H:%M:%S",
"periods": ["AM", "PM"],
"days": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"shortDays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
"months": ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
"shortMonths": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
})
然后您可以使用NL.numberFormat("$,.2f")
将数字格式化为欧元。
有关this question中d3.locale
用法的更多信息。