我在一条线上有数据点,当光标经过这些数据点时,工具提示div会出现,其中包含有关该点的数据。div的html代码如下所示。
div.html("The Avengers Box Office: $" + d.Avengers) d.Avengers以字符串形式返回207438708。那么在d3.js中有没有办法给大数加逗号呢?
我的值从几千到几亿不等,读起来可能很棘手。
谢谢
发布于 2013-03-14 00:53:16
谢谢你们的回复。我在这里找到了答案。它不是添加逗号,而是在数百万或数千之后添加M或K。实际上我觉得这样更好。
https://groups.google.com/forum/?fromgroups=#!topic/d3-js/YFsSmzu4JZk
发布于 2013-03-13 22:48:18
Solution:您不能使用d3添加逗号,但可以通过普通的JavaScript添加逗号:Number.toLocaleString()
// convert Avengers to a Number and use the toLocaleString on it
div.html("The Avengers Box Office: $" + (1*d.Avengers).toLocaleString() ) 高级解决方案:如果你的主要问题是数字太大(即使有逗号),你需要为你的数字写一些非常酷的转换函数,
查看一个不知何故的related answer,其中我添加了一些代码来实现这一点,将大数字转换为“千”、“兆”、“千兆”和“泰拉”。你可能想要采用这一点。
发布于 2019-01-22 18:22:30
d3.format(',')(1999222) / output=1,999,222
https://stackoverflow.com/questions/15387585
复制相似问题