如何使用格式SI前缀将小数点后两位取整?

时间:2019-04-10 08:34:21

标签: javascript reactjs d3.js number-formatting

我的示例:

d3.format("~s")(656628); //656.628k

但是我的预期结果是:656.63k

我想使用d3格式的选项,而不是手动处理。

实时测试:https://npm.runkit.com/d3-format

1 个答案:

答案 0 :(得分:3)

您只需要d3.formatPrefix,即可...

  

在以定点表示法格式化之前,将值转换为指定的数字参考值的相应SI前缀的单位。

...,以".2"为说明符,您自己的数字为值。

以下是带有您的电话号码的演示:

const myNumber = 656628;
console.log(d3.formatPrefix(".2", myNumber)(myNumber));
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>

这将为您带来预期的结果:656.63k

为完整起见,还有一些其他数字:

[1232, 7676546655, 665, 0.0012, 8887878].forEach(function(d) {
  console.log("Number: " + d + " - Your format: " + d3.formatPrefix(".2", d)(d))
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>