修复验证错误,阻止用户使用消息进行保存
“你有100%。你需要100%!”
我在Firefox 34和IE 11中遇到了一个非常有趣的问题:
0.57+8.36+3.36+0.19
在Firefox和Chrome中提供</ p>
12.479999999999999
在IE中
12.479999999999998
如果没有人想要计算,那么结果是正确的 12.48
我现在将修复问题,通过在reduce函数中使用Math.Round来“纠正”每一步的值,但真正的问题是,在第一眼(天真用户)不正确行为的原因是什么?
请注意,我最初通过尝试对数组求和来发现问题:
[ 0.57, 8.36, 3.36, 0.19, 39.29, 6.37, 17.24, 0.16, 2.07, 0.04, 22.36].sum()
[ 0.57, 8.36, 3.36, 0.19, 39.29, 6.37, 17.24, 0.16, 2.07, 0.04, 22.36].reduce(function(item,item2){return item+item2})