- https://juejin.cn/post/6927217000112455687
总结:0.1+0.2不等于0.3,因为在0.1+0.2在计算过程中,二进制浮点数问题发生了精度丢失,只能取到0.30000000000000004 - 可能导致的问题:浮点数计算不准确,例如300.01-300
- 解决:“可以用
Math.js
数学计算库来解决,或者用toFixed()
给计算结果四舍五入,但是toFixed()
在chrome或者火狐浏览器下四舍五入也有精度误差。可以用Math.round
来解决精度误差,比如要把2.55四舍五入保留1位小数,先把2.55∗10得到25.5,再用Math.round取整25.5,会得到26,再把26÷10得到2.6,就这样间接实现了四舍五入。可以用Math.pow来做个简单的封装Math.round(Math.pow(10, m) * number) / Math.pow(10, m)
,其中number是要四舍五入的数,m是保留几位小数。
11-12
4558

03-13
735

“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交