IEEE 754 浮点 - 为什么它有效?

IEEE 754 floating point - why does this work?

鉴于以下情况:

.1 + .2 === .3 // false
1 * .3 === .3 // true

...前者不会导致0.3,因为其中一个或多个操作数无法用IEEE 754双精度浮点数精确表示,所以结果几乎但不完全是0.3.

为什么后者returntrue。是因为 0.3 正好可以用 IEEE 754 双精度浮点数表示吗?

0.3 不能完全表示,但 1.0 可以。根据 IEEE 舍入到最近的规则,任何数字乘以 1 必须 return 等于其自身的原始值。