js的toFixed四舍五入偶尔不正确的问题

原因:因为toFixed是一个四舍六入五成双的方法
四舍六入好理解,那什么叫五成双呢
"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是偶数)

 `(0.5251).toFixed(2) => 0.53   然而 (0.525).toFixed(2)=>0.52。`

所以偶尔项目中会偶尔出现问题,我们可以封装一个四舍五入的公共方法来使用

var num =2.446242342;
num = Math.round((num + Number.EPSILON) * 100) / 100;  // 输出结果为 2.45

猜你喜欢

转载自blog.csdn.net/weixin_42821697/article/details/123070750