JavaScriptにおける浮動小数点演算の誤差
小数はコンピュータ内で、しばしば不正確に表現される形で保存されます。この場合、単純な演算が予想外の結果を生み出すという驚きに遭遇することがあります。例:
let a = 0.1 + 0.2;
alert(a); // 0.30000000000000004 と表示される
この動作に対処するには、指定された小数点以下の桁数で丸めを行う特別なメソッド toFixed を使用できます。結果を丸めてみましょう:
let a = 0.1 + 0.2;
alert(a.toFixed(2)); // '0.30' と表示される
メソッド toFixed は結果を文字列で返します。その結果を数値に変換することもできます:
let a = 0.1 + 0.2;
alert(+a.toFixed(2)); // 0.3 と表示される
次の演算の結果が何になるか確認してください:
alert(0.1 * 0.2);
次の演算の結果が何になるか確認してください:
alert(0.3 - 0.1);