web-dev-qa-db-ja.com

BigDecimalがゼロより大きいかどうかを比較

BigDecimalの値がゼロより大きい場合どうやって比較できますか?

209
Santhosh

それはとても簡単です:

if (value.compareTo(BigDecimal.ZERO) > 0)

compareToのドキュメント は実際には-1、0、または1を返すことを指定していますが、より一般的なComparable<T>.compareToメソッドは適切な3つの場合に対してゼロ未満、ゼロ、またはゼロより大きいのみを保証します。通常は単にその比較に固執するだけです。

351
Jon Skeet

より良い方法

if (value.signum() > 0)
150
Anton Bessonov

クラスに組み込まれているcompareTo()関数を使用してください。

10
duffymo

bigDecimalオブジェクトで ".intValue()"を使用することは、そのグレーターがゼロより大きいかどうかを確認したい場合には正しくありません。残っている唯一のオプションは ".compareTo()"メソッドです。

0
Satya M