我有以下代码在Java;

BigDecimal price; // assigned elsewhere

if (price.compareTo(new BigDecimal("0.00")) == 0) {
    return true;
}

写if条件的最好方法是什么?


当前回答

if(price.floatValue() == 0){
   return true; //works for 0\0.0
}

其他回答

if(price.floatValue() == 0){
   return true; //works for 0\0.0
}
BigDecimal.ZERO.setScale(2).equals(new BigDecimal("0.00"));

有一个常数,你可以检查:

someBigDecimal.compareTo(BigDecimal.ZERO) == 0

对于你的例子,一个简单而更好的方法是:

BigDecimal price;

if(BigDecimal.ZERO.compareTo(price) == 0){
    
   //Returns TRUE

}

或者,可以使用signum():

if (price.signum() == 0) {
    return true;
}