-224 / -37.333333333333336 = 6
-224 % -37.333333333333336 = -37.33333333333332
(-224 / -37.333333333333336) % 1 = 0
最初の結果が の場合、%
返されないのはなぜですか?0
6
そしてfloat
、3 番目の計算で結果が a にならないのはなぜですか?
-224 / -37.333333333333336 = 6
-224 % -37.333333333333336 = -37.33333333333332
(-224 / -37.333333333333336) % 1 = 0
最初の結果が の場合、%
返されないのはなぜですか?0
6
そしてfloat
、3 番目の計算で結果が a にならないのはなぜですか?
JavaScript の数値はすべて64 ビットの浮動小数点数です。数字が表示されないからといって、それが0.0
double ではないという意味ではありません。
WolframAlphaによると:
-224 / -37.333333333333336 = 5.9999999999999995714285...
精度の制限/浮動小数点除算の丸めにより、JavaScript では除算の結果は 6 になります。
ただし、剰余演算では、-37.3… が -224 に 6 回収まらないことが正しくわかります。つまり、-37.33… の残りの 99.99…% は除算後の残りであり、モジュロ演算の結果に対応します。
したがって、ほとんどではありませんが、除数が返されます。