格式化版本4中带有SI前缀更改的数字

时间:2016-12-21 12:33:13

标签: d3.js

在版本4之前

var formatter = d3.format("s");  
    formatter(400000) // 400k

在版本4中

var formatter = d3.format("s");  
    formatter(400000) // 400.000k

有没有办法在不使用精度的情况下获得以前版本的格式。

1 个答案:

答案 0 :(得分:2)

  

有没有办法在不使用精度的情况下获得以前版本的格式?

不使用精度,这在D3 v4.x中不再可能。

根据documentation

  

根据类型,精度要么指示小数点后面的位数(类型f和%),要么指示有效位数(类型,e,g,r,s和p)。 / p>

意味着,对于("s"),精度表示有效位数。

这是有趣的部分,在D3 v3.x API中不存在:

  

如果未指定精度,则除(无)之外的所有类型默认为 6 ,默认为12.(强调我的)

因此,formatter(400000)的精度默认为6,它可以为您提供:

400.000k

例如,如果您执行formatter(40),则会获得:

40.0000

PS :包含小数点的数字中的尾随零非常重要。