1024+.86 结果大家来猜猜是多少,哪位能给出一个 Why?
发布于 10 年前 作者 iceopen 4377 次预览 最后一次回复是 10 年前 来自 问答
console.log(parseFloat(1024) + parseFloat(300.86)); console.log(parseFloat(100) + parseFloat(100.86)); console.log(parseFloat(1024) + parseFloat(200.78)); console.log(parseFloat(400) + parseFloat(200.86)); var tol = parseFloat(1024) + parseFloat(300.86); console.log(tol);
结果如下: 1324.8600000000001 200.86 1224.78 600.86 1324.8600000000001
4 回复
去看看浮点数在内存中的存储方式就明白了
@pisceswin 没有研究到这么深度,只是好奇这个问题存在
http://stackoverflow.com/questions/588004/is-floating-point-math-broken 这个回答比较多啊