【发布时间】:2020-07-22 05:26:01
【问题描述】:
我现在正在使用此代码
double[] LocationsDown = { 40, 85, 130, 175, 220, 265, 310, 355 };
double[] LocationsUp = { 50, 95, 140, 185, 230, 275, 320, 5 };
double curretangle = Math.Round(targetAngle);
if (LocationsDown == curretangle) // <- Compile Time Error here
{
//thing
}
但它说
" 运算符 '==' 不能应用于 'double[]' 类型的操作数和 '双' "
我不明白检查数组是否包含所述双精度的正确方法我觉得这将是一个简单的解决方法,我只是无法将手指放在上面。
【问题讨论】:
-
通常在使用 floating point 时,我们会比较 tolerance,例如
bool contains = LocationsDown.Any(item => Math.Abs(item - valueToFind) < tolerance);