3
-224 / -37.333333333333336 = 6
-224 % -37.333333333333336 = -37.33333333333332
(-224 / -37.333333333333336) % 1 = 0

如果第一个结果是,为什么不%返回?06

为什么float第三次计算的结果不是 a ?

4

1 回答 1

4

JavaScript 中的所有数字都是 64 位浮点数。仅仅因为它不显示数字0.0并不意味着它不是双精度数。

根据 WolframAlpha 的说法:

-224 / -37.333333333333336 = 5.9999999999999995714285...

由于浮点除法的准确性限制/舍入,除法结果在 JavaScript 中为 6。

然而,模运算正确地看到 -37.3... 不太适合 -224 六次。这意味着 -37.33... 的其他 99.99...% 是除法后的剩余部分,对应于模运算的结果。

因此,您几乎得到了除数,但不完全是。

于 2013-08-21T17:52:29.010 回答