gpt4 book ai didi

java - 比较BigDecimal值和double值等于两位小数

转载 作者:行者123 更新时间:2023-11-30 06:47:58 25 4
gpt4 key购买 nike

我正在使用返回 double 值的 API。我需要将该值与 BigDecimal 值进行比较,以确定小数点后两位是否相等。

我是否应该将 BigDecimal 转换为 double 然后比较

Math.abs(myBigDecimal.doubleValue() - apiDouble) >= .01

或者这种方法有问题吗?或许我应该将 double 转换为 BigDecimal,然后进行比较?

最佳答案

没有。尽管 IEEE double 有保护位,但它不能精确表示十进制值。使用舍入将 double 转换为 BigDecimal,然后使用 compareTo()。请注意,equals() 考虑了小数位,因此 compareTo() 更安全。您可能还需要四舍五入 BigDecimal。

关于java - 比较BigDecimal值和double值等于两位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45066101/

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