为什么 BigDecimal(“5.50”) 不等于 BigDecimal(“5.5”)以及如何解决此问题?
2022-08-31 16:05:20
实际上,我已经找到了可能的解决方案
//returns true
new BigDecimal("5.50").doubleValue() == new BigDecimal("5.5").doubleValue()
当然,可以通过使比较更加健壮来改进它,但问题是这种技术是否可以接受,或者是否有更好的解决方案?Math.abs (v1 - v2) < EPS
如果有人知道为什么java设计人员决定以这种方式实现BigDecimal的等式,那么阅读起来会很有趣。