私は10の数値要素の配列の単純な合計をしようとしています。
私は、特定の値の配列でのみ発生する完全に間違った結果を得る、そうでなければうまくいきます。Javascriptの単純な合計のバグ
var sum = 0;
var values = [14, -1.4, -1.4, -1.4, -1.4, -1.4, -1.4, -1.4, -1.4, -1.4, -1.4];
for (var i = 0; i < values.length; i++) {
var v = values[i];
sum += v;
}
console.log(sum);
期待される結果は0ですが、私は妙に-2.22を入手します!
それ以外の場合は、小数点以下の桁数で結果を出しました。
この場合、これらの数字では、その種のバグはばかげています。
浮動小数点演算から残った '-2.220446049250313e-15'を参照してください。 –
-2.22ではなく-2.2 * 10 ^(-15)です。 –
(上記のコメントを明確にするために、1/-1よりもかなり小さい小数値です。) – deceze