我有一个BigDecimal
对象,我正在检查它的值(大于或小于100)。
public static void main(String[] args) {
BigDecimal obj = new BigDecimal("100.3");
if (obj.intValue() > 100)
{
System.out.println("Greater than 100");
}
else
{
System.out.println("Not greater than 100");
}
}
但它显示:
不大于100
答案 0 :(得分:1)
您的逻辑失败的原因是new BigDecimal("100.3").intValue()
会(如方法名所示)为您提供不带十进制精度的值,即100。而100 > 100
将为假。
相反,请使用compareTo()
的{{1}}方法进行比较
BigDecimal