【Java】BigDecimalでゼロかどうか比較する方法

この記事ではJavaのBigDecimalでゼロかどうか比較する方法について解説します。
JavaのBigDecimalでBigdecimalではゼロの値を小数点も含め保持することができます。
例えば、以下のように0の値を小数点を保持していることを確認できます。
BigDecimal b1 = new BigDecimal("0");
BigDecimal b2 = new BigDecimal("0.0");
BigDecimal b3 = new BigDecimal("0.00");
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
// 実行結果
0
0.0
0.00
小数点以下を区別しない場合はcompareTo、区別する場合はequals
小数点以下を区別しない場合はcompareTo、区別する場合はequalsで判定してあげる必要があります。
以下のサンプルプログラムにて動作を確認します。
BigDecimal b1 = new BigDecimal("0");
BigDecimal b2 = new BigDecimal("0.0");
BigDecimal b3 = new BigDecimal("0.00");
System.out.println(b1.compareTo(b1) == 0);
System.out.println(b1.compareTo(b2) == 0);
System.out.println(b1.compareTo(b3) == 0);
System.out.println(b2.compareTo(b3) == 0);
System.out.println(b1.equals(b1));
System.out.println(b1.equals(b2));
System.out.println(b1.equals(b3));
System.out.println(b2.equals(b3));
// 実行結果
true
true
true
true
true
false
false
false

Javaの記事の一覧はJava にまとめてあります

