BigDecimalの比較をおこなうときは、注意が必要。
BigDecimal bigA = new BigDecimal(0.00);
if( bigA == BigDecimal.ZERO )
{
System.out.println("bigA=ZERO");
}
else
{
System.out.println("bigA is not ZERO");
}
実行結果:bigA is not ZERO
上記の条件式「bigA == BigDecimal.ZERO」は、falseとなります。
「==」演算子で比較をおこなうと、BigDecimalの「0.00」と「0」は、違うものと判断されました。
BigDecimalの値そのものを比較したい場合は、CompareToメソッドを使わなければなりません。
0 件のコメント:
コメントを投稿