重複の可能性:
JavaScriptの数学は壊れていますか?
JSが25.1+61.7 + 13.2 = 100.00000000000001を表示するのはなぜですか?13.2 + 25.1 + 61.7=100のように数字の位置を変更するだけで修正されます。誰でもこれを説明できますか。
重複の可能性:
JavaScriptの数学は壊れていますか?
JSが25.1+61.7 + 13.2 = 100.00000000000001を表示するのはなぜですか?13.2 + 25.1 + 61.7=100のように数字の位置を変更するだけで修正されます。誰でもこれを説明できますか。
浮動小数点演算を使用しているためです。 これが何が起こっているのかについての説明です。
JavaScriptは、2を底とする浮動小数点形式であるIEEE754浮動小数点演算を使用します。その形式で正確に表すことができない多くの値があり、特にその中には、のような小数がありますx.7
。
コンパイラの問題ではありません。これは、JavaScriptが実数を表す基本的な方法の問題です。他の多くの言語でもまったく同じ問題が発生します。
一般に、コンピューターは厳密な方法で実数を処理しません。