Java 比较大的十进制值

Java 比较大的十进制值,java,Java,我有一个BigDecimal对象,我正在检查它的值(大于或小于100) 但它显示: 不大于100 逻辑失败的原因是new BigDecimal(“100.3”).intValue()将(如方法名称所示)提供没有小数精度的值,即100。而100>100将为false 相反,使用BigDecimal的compareTo()方法进行比较 BigDecimal oneHundred = new BigDecimal("100"); BigDecimal obj = new BigDecimal("100

我有一个
BigDecimal
对象,我正在检查它的值(大于或小于100)

但它显示:

不大于100


逻辑失败的原因是
new BigDecimal(“100.3”).intValue()
将(如方法名称所示)提供没有小数精度的值,即100。而
100>100
将为false

相反,使用
BigDecimal
compareTo()
方法进行比较

BigDecimal oneHundred = new BigDecimal("100");
BigDecimal obj = new BigDecimal("100.3");
if (obj.compareTo(oneHundred) > 0) {
    System.out.println("Greader than");
}

为什么要在代码标签中写入文本?
新的BigDecimal(“100.3”)。intValue()
100
。100不大于100100.3,因为int是100,不大于100
BigDecimal oneHundred = new BigDecimal("100");
BigDecimal obj = new BigDecimal("100.3");
if (obj.compareTo(oneHundred) > 0) {
    System.out.println("Greader than");
}