中級 › Javaで0.1 + 0.2 が 0.3 にならない理由 › パターン5
Javaで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("1.0"); 6 BigDecimal b = new BigDecimal("1.00"); 7 System.out.println(____________________________); ^ 8 } 9 }
出力: false期待: true (コンパイルは通っています)
空欄を埋めてビルドを通す
BigDecimalのequalsはスケール(桁数)も比較するため、1.0と1.00は等しくありません。数値として比較するにはcompareToを使います。
次の問題