比较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)