gpt4 book ai didi

java - jscience 即使值相等,实际比较也会返回 false

转载 作者:行者123 更新时间:2023-11-30 03:54:32 25 4
gpt4 key购买 nike

这是我的代码:

Real AB = adj[a].get(b);
System.out.println("AB " + AB);
Real AC = adj[a].get(c);
System.out.println("AC " + AC);
Real BC = adj[b].get(c);
System.out.println("BC " + BC);
System.out.println(AB.plus(BC));
System.out.println(AB.plus(BC).equals(AC));

这是输出:

AB 2.2360679775
AC 6.7082039325
BC 4.4721359550
6.7082039325
false

即使数字相同,为什么会返回 false?我也尝试过

System.out.println(AB.plus(BC).compareTo(AC) == 0);

再说一次,错误

最佳答案

Realequals() 实现检查相同的有效数、错误和指数。相反,请使用approximates(),它“考虑了可能的错误(例如数字错误)。”

附录:另请参阅以下有关浮点比较的文章:

关于java - jscience 即使值相等,实际比较也会返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23579833/

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