Code Fix

中級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(誤差そのものが見えます)

空欄を埋めてビルドを通す

広告
広告スロット(未設定)

0.1 + 0.2 が 0.3 にならない理由

誤差を許容する比較と、金額計算でBigDecimalを使う理由を扱います。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)