def total = new BigDecimal("0.00");
total.add(new BigDecimal("1"));
println total;
请考虑以下代码:此代码的输出为零。
为什么?
答案 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