比较大十进制值

时间:2018-08-01 06:58:44

标签: java

我有一个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

1 个答案:

答案 0 :(得分:1)

您的逻辑失败的原因是new BigDecimal("100.3").intValue()会(如方法名所示)为您提供不带十进制精度的值,即100。而100 > 100将为假。

相反,请使用compareTo()的{​​{1}}方法进行比较

BigDecimal