美文网首页
为什么在 JavaScript 中,0.1+0.2 ! ==0.

为什么在 JavaScript 中,0.1+0.2 ! ==0.

作者: 家有饿犬和聋猫 | 来源:发表于2022-05-18 15:47 被阅读0次
console.log( 0.1 + 0.2 == 0.3);

这里输出的结果是 false,说明两边不相等的,这是浮点运算的特点,也是很多同学疑惑的来源,浮点数运算的精度问题导致等式左右的结果并不是严格相等,而是相差了个微小的值。

所以实际上,这里错误的不是结论,而是比较的方法,正确的比较方法是使用 JavaScript 提供的最小精度值:Number.EPSILON

console.log( Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON);

检查等式左右两边差的绝对值是否小于最小精度,才是正确的比较浮点数的方法。这段代码结果就是 true 了

相关文章

网友评论

      本文标题:为什么在 JavaScript 中,0.1+0.2 ! ==0.

      本文链接:https://www.haomeiwen.com/subject/tbeaurtx.html