小数计算过程中精度缺失的,最经典的是0.1+0.2 = 0.30000000000000004,原因是因为数值的表示在计算机内部是用二进制的, 那么出现这种情况的时候我们如何避免计算结果达到我们要的0.3呢?其实我们只要把计算得到的结果固定10位,然后再转换为浮点数就可以了。 function calculateNum (value) { return parseFloat(value.toFixed(10)) } calculateNum(0.1+0.2) // 0.3
2022-01-01 23:57:39
小数计算过程中精度缺失的,最经典的是0.1+0.2 = 0.30000000000000004,原因是因为数值的表示在计算机内部是用二进制的, 那么出现这种情况的时候我们如何避免计算结果达到我们要的0.3呢?其实我们只要把计算得到的结果固定10位,然后再转换为浮点数就可以了。 function calculateNum (value) { return parseFloat(value.toFixed(10)) } calculateNum(0.1+0.2) // 0.3