javascript - 如何使用格式 SI 前缀四舍五入到小数点后两位?

标签 javascript reactjs d3.js number-formatting

以我为例:

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

但我的预期结果:656.63k

我想使用 d3-format 选项而不是手动处理它。

现场测试:https://npm.runkit.com/d3-format

最佳答案

您只需要 d3.formatPrefix , 这...

Convert values to the units of the appropriate SI prefix for the specified numeric reference value before formatting in fixed point notation.

...,以 ".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>

关于javascript - 如何使用格式 SI 前缀四舍五入到小数点后两位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55608134/

相关文章:

javascript - 如何清除所见即所得的 mathquill 编辑器?

Javascript - 根据ajax响应停止表单提交

reactjs - React 和 Docker - Uncaught Error : Cannot find module 'react-player'

javascript - 填充未在 d3.js 中定义

javascript - 单击 Jquery JS 时按钮重新打开

javascript - JSDoc - 如何记录代码区域

javascript - JavaScript for 循环中的异步/等待

javascript - 我无法使用 REACT 中的 fetch 将图像上传到后端

javascript - 更改 d3 缩放中的矩形尺寸

javascript - 在旧图表上方添加新的 D3 图表