BigDecimalの比較をする際、文字列の比較と同じようにはできないので注意が必要です。
Stringの場合
String a = "aaa";
String b = "aaa";
if (a.equals(b))
これはtrueになります。
BigDecimalの場合
BigDecimal a = new BigDecimal(0);
BigDecimal b = new BigDecimal(0);
if (a.equals(b))
これはtrueになります。
BigDecimal a = new BigDecimal(0);
BigDecimal b = new BigDecimal(0.0);
if (a.equals(b))
これはfalseになります。
equalsを使用すると小数点までは見ないので、BigDecimalの場合は小数点までを考慮してcompareToを使用する必要があります。
BigDecimal a = new BigDecimal(0);
BigDecimal b = new BigDecimal(0.0);
if (a.compareTo(b) == 0)
これはtrueになります。
▼僕はプログラミングを覚えるには、Javaを勉強するのが良いと思っています。
詳しくは以下にまとめたので、ぜひご覧ください。