console.log( 0.1 + 0.2 == 0.3)
输出结果是false。
意味着,两边是不相等的。
这是浮点数运算的精度问题导致的。
正确的比较方法是使用JavaScript提供的最小精度值:
console.log( Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON)
这段代码的运行结果就是true了。
检查等式左右两边之差的绝对值是否小于最小精度,才是正确的比较浮点数的方法
console.log( 0.1 + 0.2 == 0.3)
输出结果是false。
意味着,两边是不相等的。
这是浮点数运算的精度问题导致的。
正确的比较方法是使用JavaScript提供的最小精度值:
console.log( Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON)
这段代码的运行结果就是true了。
检查等式左右两边之差的绝对值是否小于最小精度,才是正确的比较浮点数的方法
发表评论取消回复