如果BigDecimal
值大于零,我如何比较?
答案 0 :(得分:346)
这很简单:
if (value.compareTo(BigDecimal.ZERO) > 0)
documentation for compareTo
实际上指定它将返回-1,0或1,但更通用的Comparable<T>.compareTo
方法仅保证在适当的三种情况下小于零,零或大于零 - 所以我通常坚持这种比较。
答案 1 :(得分:147)
if (value.signum() > 0)
答案 2 :(得分:10)
使用内置于该类中的compareTo()
函数。
答案 3 :(得分:3)
使用方法compareTo()
BigDecimal a = new BigDecimal(10);
BigDecimal b = BigDecimal.ZERO;
System.out.println(" result ==> " + a.compareTo(b));
控制台打印
result ==> 1
compareTo()
返回
- 1 (如果a大于b
)- -1 (如果b小于b
)- 0 ,如果a等于b
现在就可以使用您的问题
if (value.compareTo(BigDecimal.ZERO) > 0)
或
if (value.compareTo(new BigDecimal(0)) > 0)
我希望它能对您有所帮助。
答案 4 :(得分:0)
使用&#34; .intValue()&#34;当你想检查它的grater是否为零时,在BigDecimal对象上是不对的。剩下的唯一选择是&#34; .compareTo()&#34;方法
答案 5 :(得分:0)
这也可行:
value> BigDecimal.ZERO
答案 6 :(得分:-1)
为什么它不能像
那么简单if(bigDecimalObject.intValue() > 0)
答案 7 :(得分:-4)
BigDecimal obj = new BigDecimal("100");
if(obj.intValue()>0)
System.out.println("yes");