JavaScript 如何正确的保留 n 个小数位?

阅读 1.9k
4 个回答

正好前几天遇到,又不想用库,就这么处理的

(Math.round(x * 10) / 10).toFixed(1)

浮点数不能精确地用二进制表示所有小数
image.png
金额这类特殊数字应该用 string 表示然后再用对应的库处理

一般来说金额的计算的时候使用【分】来处理就好,整数处理并没有那么麻烦。所以直接 *100 就好了。

前端显示的时候出现问题(.toFixed()四舍五入异常),倒是没有注意过。边城大佬的方式应该可行,但是一般金额相关的可能还会牵扯到一些精度问题,所以直接用 BigJS 这种计算类库就好了。

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏