gpt4 book ai didi

java - 一个 BigDecimal 约等于另一个 BigDecimal

转载 作者:行者123 更新时间:2023-12-01 20:00:16 27 4
gpt4 key购买 nike

我广泛使用 BigDecimals。我经常需要进行长时间的计算,然后比较结果。由于这些漫长的计算,答案不是 1而是0.9999999... 。这就是为什么我无法精确比较 BigDecimals,而只能比较某个错误。

如何检查一个 BigDecimal 是否位于另一个 BigDecimal 的 epsilon 范围内?

备注:我已经知道 answer.subtract(expected).abs().compareTo(epsilon) < 0 。但我必须一遍又一遍地写它,并且我正在寻找一种更简单的方法来做到这一点。

最佳答案

BigDecimal error = new BigDecimal(1e-5);    

BigDecimal a = new BigDecimal(100);
BigDecimal b = new BigDecimal(11.2);

if (a.subtract(b).abs().compareTo(error) < 0) {
// a approximately equals b
}

关于java - 一个 BigDecimal 约等于另一个 BigDecimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48148178/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com