0

重複の可能性:
JavaScript の数学は壊れていますか?

そこで私は、数値を非常に正確な値に計算するプログラムを書いていますが、数値が見かけどおりになることは決してないという難しい方法を学びました。例えば:

<script type="text/javascript">
var num=80.902
var difference=(num*10-Math.floor(num*10))/10;
document.write(difference);
</script>

これは、0.001999999999998181 の実際の差があることを示しています。これらの数値を正確にする方法はありますか? 私はそれがある種の記憶のことだと推測しているので、それを倍精度にする方法はありますか?データを 10^-13 より小さい数値と比較するのは面倒です。

4

1 に答える 1

0

これは、javascript 固有の制限です。細かい精度の浮動小数点数の計算用には設計されていません。

この質問は、あなたが見たいところです: JavaScript で浮動小数点数の精度を処理する方法は? ここで浮動小数点演算が壊れていますか?

...そして、JavaScript は float 精度の最悪の言語だと思います。

于 2012-11-07T07:16:43.347 に答える