我广泛使用 BigDecimals。我经常需要进行长时间的计算,然后比较结果。由于这些漫长的计算,答案不是1
而是0.9999999...
。这就是为什么我无法精确比较 BigDecimals 而只能比较某个错误。
如何检查一个 BigDecimal 是否位于另一个 BigDecimal 的 epsilon 范围内?
备注:我已经知道了answer.subtract(expected).abs().compareTo(epsilon) < 0
。但我必须一遍又一遍地写它,并且我正在寻找一种更简单的方法来做到这一点。