我有以下代码在Java;
BigDecimal price; // assigned elsewhere
if (price.compareTo(new BigDecimal("0.00")) == 0) {
return true;
}
写if条件的最好方法是什么?
我有以下代码在Java;
BigDecimal price; // assigned elsewhere
if (price.compareTo(new BigDecimal("0.00")) == 0) {
return true;
}
写if条件的最好方法是什么?
当前回答
对于你的例子,一个简单而更好的方法是:
BigDecimal price;
if(BigDecimal.ZERO.compareTo(price) == 0){
//Returns TRUE
}
其他回答
有一个常数,你可以检查:
someBigDecimal.compareTo(BigDecimal.ZERO) == 0
有一个静态常数表示0:
BigDecimal.ZERO.equals(selectPrice)
你应该这样做,而不是:
selectPrice.equals(BigDecimal.ZERO)
以避免selectPrice为空的情况。
BigDecimal.ZERO.setScale(2).equals(new BigDecimal("0.00"));
或者,可以使用signum():
if (price.signum() == 0) {
return true;
}
对于你的例子,一个简单而更好的方法是:
BigDecimal price;
if(BigDecimal.ZERO.compareTo(price) == 0){
//Returns TRUE
}