BigDecimal
の値がゼロより大きい場合どうやって比較できますか?
それはとても簡単です:
if (value.compareTo(BigDecimal.ZERO) > 0)
compareTo
のドキュメント は実際には-1、0、または1を返すことを指定していますが、より一般的なComparable<T>.compareTo
メソッドは適切な3つの場合に対してゼロ未満、ゼロ、またはゼロより大きいのみを保証します。通常は単にその比較に固執するだけです。
より良い方法 :
if (value.signum() > 0)
クラスに組み込まれているcompareTo()
関数を使用してください。
bigDecimalオブジェクトで ".intValue()"を使用することは、そのグレーターがゼロより大きいかどうかを確認したい場合には正しくありません。残っている唯一のオプションは ".compareTo()"メソッドです。