D3.JS:格式为货币欧元

时间:2016-01-12 12:52:43

标签: d3.js

D3 Wiki描述了格式,以及如何使用d3.format("$.,2f");将数字格式化为美元值。但是,使用d3.format("€,.2f");将数字格式化为欧元值不起作用。这样做的适当方法是什么?

1 个答案:

答案 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")将数字格式化为欧元。

Working demo

有关this questiond3.locale用法的更多信息。