C# 如何检查double数组是否包含c中的某个double#
我现在正在使用这个代码C# 如何检查double数组是否包含c中的某个double#,c#,double,C#,Double,我现在正在使用这个代码 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 == curretan
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[]LocationsDown={40,85,130,175,220,265,310,355};
双[]位置sup={50,95,140,185,230,275,320,5};
双电流角=数学圆(目标角);
如果(LocationsDown==currentangle)//使用:
一般情况下,我们必须将double
值与一些公差进行比较:
if (Math.Abs(someValue - valueToCheck) <= tolerance) {...}
if(Math.Abs(someValue-valueToCheck)Math.Abs(item-currentangle)在处理浮点时,我们经常与容差进行比较,例如bool contains=LocationsDown.Any(item=>Math.Abs(item-valueToFind)
感谢您回答我的问题,我相信使用这种方法会有一些好处,但因为它使用起来更简单。contains和它只是为空间工程师编写的脚本。我认为如果它有点不合适,那也没什么大不了的。非常感谢您。
if (Math.Abs(someValue - valueToCheck) <= tolerance) {...}
using System.Linq;
...
double tolerance = 1e-6;
bool contains = LocationsDown.Any(item => Math.Abs(item - curretangle) <= tolerance);