0

1.01 に 2.05 を加算しようとすると、この値が返されるのはなぜですか?

console.log(2.05+1.01); // -> 3.0599999999999996?

それを回避する唯一の方法は toFixed() を使用していますか?

console.log((2.05+1.01).toFixed(2))

どうすればこの動作を回避できるので、コードの内部計算で驚かないようにすることができます。

4

1 に答える 1

1

これは、JavaScript の浮動小数点の精度が 14 桁までしかないためです。それを回避する唯一の実際の方法は、各数値に大きな数値を掛けるか、あなたが言ったことを実行することです.

于 2015-09-02T00:59:42.623 に答える