297

BigDecimal値がゼロより大きいかどうかを比較するにはどうすればよいですか?

4

7 に答える 7

474

次のように簡単です。

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

ドキュメントでは、compareTo実際には -1、0、または 1 を返すと指定されていますが、より一般的なComparable<T>.compareTo方法では、適切な 3 つのケースでゼロ未満、ゼロ、またはゼロより大きいことしか保証されないため、通常はその比較に固執します。

于 2010-11-12T12:21:14.983 に答える
199

より良い方法

if (value.signum() > 0)

signumこの BigDecimal の値が負、ゼロ、または正であるため、-1、0、または 1 を返します。

于 2011-10-19T18:36:59.197 に答える
11

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

于 2010-11-12T12:21:15.393 に答える