如何比较BigDecimal值是否大于0 ?
BigDecimal
其实很简单:
if (value.compareTo(BigDecimal.ZERO) > 0)
compareTo的文档实际上指定它将返回-1、0或1,但更通用的Comparable<T>.compareTo方法只保证在适当的三种情况下小于0、0或大于0——所以我通常只坚持这种比较。
compareTo
Comparable<T>.compareTo
使用内置在类中的compareTo()函数。
compareTo()
可能更好的方法:
if (value.signum() > 0)
signum返回-1、0或1,因为BigDecimal的值为负、零或正。
signum
BigDecimal obj = new BigDecimal("100"); if(obj.intValue()>0) System.out.println("yes");
当你想检查BigDecimal对象是否大于0时,在BigDecimal对象上使用". intvalue()"是不正确的。剩下的唯一选项是". compareto()"方法。
使用compareTo()方法更安全
BigDecimal a = new BigDecimal(10); BigDecimal b = BigDecimal.ZERO; System.out.println(" result ==> " + a.compareTo(b));
控制台打印
result ==> 1
compareTo()回报
1如果a大于b -1如果a小于b 0如果a等于b
现在你可以用
或
if (value.compareTo(new BigDecimal(0)) > 0)
我希望这对你有所帮助。
这在芬兰湾的科特林中有效:
价值比;BigDecimal。零