String 在D3中使用逗号格式化数字

String 在D3中使用逗号格式化数字,string,formatting,d3.js,String,Formatting,D3.js,当我创建一个带有D3的图表时,轴标签中有逗号,用来分隔数千、数百万等 是否有一个D3函数,我可以调用它传递一个数字,然后返回一个用逗号格式化的字符串,就像axis中使用的那样?它将相当于这个C:x.ToString(“0000”) 我知道有这样的库可以进行格式化,但我希望避免包含额外的库。我已经在使用D3了,所以如果那里有API,我就可以使用它了。在文档中快速搜索找到它: format = d3.format("0,000"); formattedX = format(x); 在d3 v4中,

当我创建一个带有D3的图表时,轴标签中有逗号,用来分隔数千、数百万等

是否有一个D3函数,我可以调用它传递一个数字,然后返回一个用逗号格式化的字符串,就像axis中使用的那样?它将相当于这个C:
x.ToString(“0000”)


我知道有这样的库可以进行格式化,但我希望避免包含额外的库。我已经在使用D3了,所以如果那里有API,我就可以使用它了。

在文档中快速搜索找到它:

format = d3.format("0,000");
formattedX = format(x);

在d3 v4中,执行此操作的语法变得更加严格,但看起来如下所示:

format = d3.format(",");
formattedX = format(x);

为了避免阅读@altocumulus的评论,以下是正确答案:


设format=d3.format(',');
设formattedX=格式(x);

发件人:

逗号(
)选项允许使用组分隔符,例如逗号表示千


(@altocumulus获得了所有的赞誉。)

这怎么能得到21张选票,成为公认的答案?这是错误的,格式说明符无效。在链接到文档之后,可以很容易地看到逗号后面不能有数字。因为字符串中有一个逗号,所以它碰巧起作用。最终,这是启用分组所需的唯一字符。它没有从v3更改为v4。v4只是有点挑剔,抱怨说明符错误,而v3只是继续解释它能理解的东西。马特的自我回答没有抓住要点。请参阅我对该答案的评论。您只需启用分组即可
d3.format(“,”)
。您甚至不需要最后的
“d”
字符。请相应地调整您的答案,并可能添加到文档的链接以供参考。
var x=d3.format(“$,.2f”)(myVal)符合我的目的,并且很有帮助。