我可以将2个BigDecimal对象与compareTo()
方法
BigDecimal val = new BigDecimal(10);
val.compareTo(new BigDecimal(11)) //return -1
val < 11 - -1
val = 11 - 0
val > 11 - 1
但是如何比较val&gt; =和&lt; = ???
if(val.compareTo(new BigDecimal(11) ==-1) || val.compareTo(new BigDecimal(11) ==0)) // val <= 11
但是某种程度上它是歪曲的
答案 0 :(得分:5)
if(val.compareTo(new BigDecimal(11)) <= 0) //val <=11
if(val.compareTo(new BigDecimal(11)) >= 0) //val >=11
答案 1 :(得分:1)
看起来你把弯曲的括号弄乱了。它不应该以这种方式编译。比较在方法调用中。在你的if:
val.compareTo( new BigDecimal(11)== - 1 )
首先评估粗体部分。但是==运算符不适用于BigDecimal和int。
你的意思是:
if (
val.compareTo(new BigDecimal(11)) == -1
|| val.compareTo(new BigDecimal(11)) == 0
)