无法在Groovy中添加BigDecimal值

时间:2015-04-22 05:25:07

标签: java groovy

def total = new BigDecimal("0.00");
total.add(new BigDecimal("1"));
println total;

请考虑以下代码:此代码的输出为零。

为什么?

1 个答案:

答案 0 :(得分:1)

您必须分配结果(请参阅下面的文档)。或得到groovy:

def total = 0.0G + 1G
assert total.getClass() == BigDecimal
assert total==1.0G

total += 1.0G
assert total.getClass() == BigDecimal
assert total==2.0G

http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#add%28java.math.BigDecimal%29

 public BigDecimal add(BigDecimal augend)
     

返回一个BigDecimal,其值为(this + augend),其比例为max(this。scale(),augend。scale())。

     

参数:

     

augend - 要添加到this BigDecimal的值。

     

返回:

     

this + augend