比较BigDecimal是否大于零
如何比较BigDecimal
值是否大于零?
这很简单:
if (value.compareTo(BigDecimal.ZERO) > 0)
compareTo
的文档实际上指定它将返回-1,0或1,但更一般的Comparable<T>.compareTo
方法只能保证适当的三种情况下小于零,零或大于零 – 所以我通常只是坚持这一比较。
可能更好的方法 :
if (value.signum() > 0)
使用内置到类中的compareTo()
函数。
public static boolean isNegative(BigDecimal b) { return b.signum() == -1; }
阅读javadoc BigDecimal.signum()
/** * Returns the signum function of this {@code BigDecimal}. * * @return -1, 0, or 1 as the value of this {@code BigDecimal} * is negative, zero, or positive. */
BigDecimal value = new BigDecimal("100"); if(value.compareTo()>0)
要么
if(value.compareTo()==1)