【发布时间】:2014-01-22 20:28:09
【问题描述】:
为什么会失败?
assert 1.0G.divide(12.0G, 4, RoundingMode.HALF_UP) == 1.0G.divide(12.0G, new MathContext(4, RoundingMode.HALF_UP))
失败:
|不满足条件: 1.0G.divide(12.0G, 4, RoundingMode.HALF_UP) == 1.0G.divide(12.0G, new MathContext(4, RoundingMode.HALF_UP)) | | | | 0.0833 错误 0.08333 精度=4 roundingMode=HALF_UP【问题讨论】:
-
仅供参考,我已删除 Java 标记,因为此代码是纯 Groovy。但这是 Java 中的等效效果:ideone.com/jaMhvV。
-
在 Java 中这应该会失败,因为您使用的是
==而不是equals。我不知道 Groovy 是做什么的。 -
@PeterLawrey:Groovy
==实际上是 Javaequals,预先检查 LHS 不是null。
标签: groovy bigdecimal