标签: javascript floating-point
如果数字不是1/2^n形式,那么它会以二进制表示形式重复,从而在浮点表示形式中产生舍入误差。
1/2^n
var a = 0.2 + 0.1; document.write(a + "<br>"); var b = 0.3 + 0.1; document.write(b + "<br>");
在上面的代码片段中,第一个表达式在结果中给出了一些错误,但是我不明白为什么第二个表达式给出了正确的答案。 0.3和0.1都以二进制表示重复,所以它们的总和应该有一些错误吗?
0.3
0.1