D3格式' s'在版本4中

时间:2018-02-02 17:41:38

标签: d3.js

我从d3版本3转换为版本4.我不会'了解如何解决问题。通过更改格式'

引入

第3版

d3.format('s')(14000) //14K
d3.format('s')(4000) //4K
d3.format('s')(4000.10) //"4.0001k"

第4版

d3.format('s')(14000) //14.0000k
d3.format('s')(4000) //4.0000k
d3.format('s')(4000.10) //"4.0001k"

这也表现得很奇怪(猜测显着的数字变化)

d3.format('.0s')(14000) //"10k"

我想显示零小数和K,如果成千上万。

注意:formatting a number with SI prefix change in version 4没有回答关于我现在可以做同样事情的问题。

2 个答案:

答案 0 :(得分:1)

您正在寻找带有两位有效数字的SI前缀,该说明符将是:

d3.format(".2s")(14000)
"14k"

怎么样:

var v = 14000;
console.log(d3.format("."+ v.toString().match(/[1-9]/g).length +"s")(v));
var v = 4000;
console.log(d3.format("."+ v.toString().match(/[1-9]/g).length +"s")(v));
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

答案 1 :(得分:0)

我猜您正在寻找subscribe()选项:

~

它以d3格式1.3.0添加:https://github.com/d3/d3-format/releases/tag/v1.3.0