我使用BigDecimals编写一些单位转换器,我遇到了一种情况,我必须将一个数字乘以分数 - 周期性数字。
在大多数情况下,精度已经足够好了,但假设我们有一个这样的等式:
BigDecimal.valueOf(90) .multiply(BigDecimal.valueOf(10) .divide(BigDecimal.valueOf(90), 6, RoundingMode.HALF_UP))
通常这等于10,但是由于四舍五入,我们将得到9.999999...
有没有一种优雅的方法来实现这一点,而无需有一个if条件来检测何时可以切割分数?
泛舟湖上清波郎朗
富国沪深
相关分类