浏览器控制台输入
console.log(0.1+0.2)
结果为0.30000000000000004
当我们尝试将0.1和0.2相加时,结果应该是0.3,但是在JavaScript中,结果却是0.30000000000000004。这是因为0.1和0.2在二进制中无法被精确表示,所以在进行相加时会产生舍入误差,从而导致精度丢失。
为了简单处理这个问题,可以使用JavaScript内置的toFixed()方法将数值转换为指定位数的小数,从而避免精度丢失,可以将toFixed()方法返回的结果转换为数字,然后再进行相加。示例代码如下:
function the_plus(totalA, totalB) { return (0.1*totalA.toFixed(4) + 0.1*totalB.toFixed(4))*10; }
标签:0.1,相加,0.2,js,丢失,toFixed,精度 From: https://www.cnblogs.com/cnwp007/p/17315561.html