中級 › 0.1 + 0.2 が 0.3 にならない理由 › パターン1
0.1 + 0.2 が 0.3 にならない理由
2進小数の限界です。
1 public class Main { 2 public static void main(String[] args) { 3 double a = 0.1 + 0.2; 4 System.out.println(________________________); ^ 5 } 6 }
出力: false期待: true (コンパイルは通っています)
空欄を埋めてビルドを通す
2進小数では0.1が正確に表せません。浮動小数点の比較は誤差を許容する形で書きます。
次の問題