给定以下内容:
.1 + .2 === .3 // false
1 * .3 === .3 // true
...前者不会导致
0.3
,因为一个或多个操作数不能在IEEE 754双精度浮点中精确表示,因此结果几乎是0.3
,但不是完全。后者为什么返回
true
。是因为0.3
恰好在IEEE 754双精度浮点中可以精确表示吗? 最佳答案
0.3不能精确表示,但1.0是可以表示的。在IEEE四舍五入规则下,任何数字乘以1,都必须返回等于其自身的原始值。
关于javascript - IEEE 754浮点-为什么有效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44288644/