gpt4 book ai didi

java - 用公差检查值

转载 作者:行者123 更新时间:2023-12-01 06:54:54 25 4
gpt4 key购买 nike

我正在尝试检查一个值是否等于另一个值的 + 或 - 2。

这是我遇到的。

    for (int lineNumber : errorLineList) {
if (lineNumber == startLineNumber
|| lineNumber == (startLineNumber + 1)
|| lineNumber == (startLineNumber + 2)
|| lineNumber == (startLineNumber - 1)
|| lineNumber == (startLineNumber - 2)) {
lineFound = true;
break;
}
}

但在这里,如果我希望容差为 5,那么我必须添加 10 个检查。

在java中还有其他优雅的方法可以做到这一点吗?

最佳答案

使用 double 时通常需要这样做,因为您可能会得到小的舍入误差。

if(Math.abs(lineNumber - startLineNumber) <= 2)

您可以将 2 更改为 5。这是说;如果两个值之间的差异小于 2。即它可能是 -2、-1、0、1 或 2。

对于 double一个类似的解决方案是使用
if(Math.abs(a - b) < ERR) // where ERR is 1e-4 or 1e-9

使用什么 ERR 值取决于具体情况。

关于java - 用公差检查值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12383975/

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