中級 › 0.1 + 0.2 が 0.3 にならない理由 › パターン2
0.1 + 0.2 が 0.3 にならない理由
2進小数の限界です。
1 public class Main { 2 public static void main(String[] args) { 3 System.out.println(0.1 + 0.2 __ 0.3); ^ 4 } 5 }
出力: 5.551115123125783E-17(誤差そのものが見えます)
空欄を埋めてビルドを通す
差を取ると誤差の実体が見えます。金額計算にはBigDecimalを使うのが正解です。
次の問題