-3

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

JSが25.1+61.7 + 13.2 = 100.00000000000001を表示するのはなぜですか?13.2 + 25.1 + 61.7=100のように数字の位置を変更するだけで修正されます。誰でもこれを説明できますか。

4

2 に答える 2

1

浮動小数点演算を使用しているためです。 これが何が起こっているのかについての説明です。

于 2012-08-30T03:49:53.560 に答える
1

JavaScriptは、2を底とする浮動小数点形式であるIEEE754浮動小数点演算を使用します。その形式で正確に表すことができない多くの値があり、特にその中には、のような小数がありますx.7

コンパイラの問題ではありません。これは、JavaScriptが実数を表す基本的な方法の問題です。他の多くの言語でもまったく同じ問題が発生します。

一般に、コンピューターは厳密な方法で実数を処理しません。

于 2012-08-30T03:50:37.557 に答える