Code Fix

中級0.1 + 0.2 が 0.3 にならない理由 › パターン3

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

2進小数の限界です。

 1  import java.math.BigDecimal;
 2  
 3  public class Main {
 4      public static void main(String[] args) {
 5          BigDecimal a = new BigDecimal(____________);
                                                ^
 6          System.out.println(a);
 7      }
 8  }
出力: 0.1000000000000000055511151231257827021181583404541015625期待: 0.1 (コンパイルは通っています)

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

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

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

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

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

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