2

我在一条线上有数据点,当光标经过它们时,会出现一个工具提示 div,其中包含有关该点的数据。div的html代码如下。

    div.html("The Avengers Box Office: $" + d.Avengers) 

d.Avengers 将 207438708 作为字符串返回。那么有没有办法在 d3.js 中为大数添加逗号?

我的值从数千到数亿不等,阅读它们可能会很棘手。

谢谢

4

3 回答 3

3

解决方案:您不能使用 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() ) 

高级解决方案:如果您的主要问题是数字太大(即使使用逗号),您需要为您的数字编写一些非常酷的转换函数

  1. 计算小数和
  2. 选择一个非常好的格式来显示漂亮的数字

查看一个相关的答案,我在其中添加了一些代码来执行此操作,将大数字转换为“kilo”、“mega”、“giga”和“terra”。你可能想采用它。

于 2013-03-13T14:48:18.470 回答
2

谢谢大家的回复。我在这里找到了答案。它不是添加逗号,而是在数百万或数千之后添加 M 或 K。我认为这实际上更好。

https://groups.google.com/forum/?fromgroups=#!topic/d3-js/YFsSmzu4JZk

于 2013-03-13T16:53:15.747 回答
-1

d3.format(',')(1999222) //// 输出=1,999,222

于 2019-01-22T10:22:30.027 回答