5

Java スクリプトで計算を行っていますが、10 進数の精度が原因で問題に直面しています。正確な計算を投稿することはできませんが、これは私が行っていることであり、予期しない結果につながります

私が書くとき: alert(100.01-36.01);//結果は64です

しかし、私が書くとき: alert(100.01-37.01); //結果は63.00000000000001です

そして、38.01 についてはこのように続きます。これがこのような予期しない動作を示している理由を教えてください。計算に行き詰まっています。

前もって感謝します。

4

2 に答える 2

1

これを試して :

<script type="text/javascript">
var n1 = parseFloat(100.01);
var n2 = parseFloat(37.01);
var res = (n1-n2)
アラート (res.toFixed (2));
</script>
于 2012-06-20T06:22:12.017 に答える
0

数字を数字として宣言しない場合、文字列が数字だけで使用されていない場合、js は自動的に文字列として使用します。

parseFloat(123.45) は 10 進数として設定します。

于 2012-06-20T06:29:56.187 に答える