gpt4 book ai didi

Java 坡度在本应相等时却并不相等

转载 作者:行者123 更新时间:2023-11-30 04:29:50 24 4
gpt4 key购买 nike

我正在开发一个程序,该程序可以找到 2 个斜率,并比较它们以查看它们是否相等。我为此使用 double 。我发现即使我的斜率应该“相等”,但它们还是有点偏离,因此没有显示为相等。例如,我得到的斜率是 1.0000000000000009 和 0.9999999999999999。所以理论上它们应该是相等的,但事实并非如此。

我可以做什么来解决这个问题?

最佳答案

如果您使用 double ,则永远无法解决此问题:十进制数字的表示方式存在限制,这些限制会在您的计算中累积,并给您带来这些微小的差异。良好的代码审核实际上会警告您 double 之间的相等性。

处理该问题的一种方法是确保差异的绝对值低于您设置的某个限制。

Here's an article关于 float 表示和比较的危险。

或者,您可以切换到更好的类来进行精确的数字处理,例如 BigDecimal

关于Java 坡度在本应相等时却并不相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14902429/

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