How can I compare if BigDecimal
value is greater than zero?
This question is related to
java
compare
bigdecimal
if (value.signum() > 0)
signum
returns -1, 0, or 1 as the value of this BigDecimal is negative, zero, or positive.
This works too:
value > BigDecimal.ZERO
Use compareTo()
function that's built into the class.
BigDecimal obj = new BigDecimal("100");
if(obj.intValue()>0)
System.out.println("yes");
using ".intValue()" on BigDecimal object is not right when you want to check if its grater than zero. The only option left is ".compareTo()" method.
it is safer to use the method compareTo()
BigDecimal a = new BigDecimal(10);
BigDecimal b = BigDecimal.ZERO;
System.out.println(" result ==> " + a.compareTo(b));
console print
result ==> 1
compareTo()
returns
- 1 if a is greater than b
- -1 if b is less than b
- 0 if a is equal to b
now for your problem you can use
if (value.compareTo(BigDecimal.ZERO) > 0)
or
if (value.compareTo(new BigDecimal(0)) > 0)
I hope it helped you.
Source: Stackoverflow.com