【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 にまとめてあります