C# 包含无限数学方程的If语句
我试图执行代码,使特定的无限数学条件为真。该条件为真,因此该值=90+360X。其中X是一个整数。所以我用的是单位圆,只想要等于正Y轴的度数。这是一张用橙色高亮显示的轴的照片 例如,角度90、450、810等将使条件为真。 我已尝试在我的代码中使用%,如您所见:C# 包含无限数学方程的If语句,c#,C#,我试图执行代码,使特定的无限数学条件为真。该条件为真,因此该值=90+360X。其中X是一个整数。所以我用的是单位圆,只想要等于正Y轴的度数。这是一张用橙色高亮显示的轴的照片 例如,角度90、450、810等将使条件为真。 我已尝试在我的代码中使用%,如您所见: else if (DegreeValue == 90 || ManyRotations90(DegreeValue, 90) == true) { Console.WriteLine("Angl
else if (DegreeValue == 90 || ManyRotations90(DegreeValue, 90) == true)
{
Console.WriteLine("Angle(" + DegreeValue + ") lies between the 1st and 2nd quadrant. In other words, it doesn't belong to a specfic section.");
}
static public bool ManyRotations90(double num01, double num02)
{
if (num01 % num02 == 0);
{
return true;
}
return false;
}
即使这些数字的条件会返回true,但对于我不想要的数字也会返回true//这很好,540%90==0。但是270%90==0//这是不好的。是否有一种方法可以使其仅适用于90+360X?您误用了
%
运算符。您需要将度数除以360(整圈),然后检查余数是否为90:
return DegreeValue % 360 == 90;
我想出了如何用负角度来工作。使用@Mureinik的解可以找到正角度。假设我想知道如果负角度在第三象限,我该怎么做
else if (
NegCheck(DegreeValue) == true //This just check to see if the angle is negtive
&& 360 + DegreeValue > 180
&& 360 + DegreeValue < 270
|| Between180_270(DegreeValue) == true)
{
Console.WriteLine("Angle(" + DegreeValue + ") lies in the 3nd quadrant");
}
static public bool Between180_270(double Degreevalue01)
{
if (NegCheck(Degreevalue01) == true)
{
double step = 0.0;
step = (360 + Degreevalue01) % 360;
step = 360 + step;
if (step > 180 && step < 270)
{
return true;
}
}
return false;
}
否则,如果(
NegCheck(DegreeValue)==true//这只是检查角度是否为负值
&&360+度评估值>180
&&360+度评估值<270
||介于180_270(DegreeValue)=真之间
{
控制台写入线(“角度(“+DegreeValue+”)位于第三象限”);
}
180_270之间的静态公共边界(双度值01)
{
如果(NegCheck(Degreevalue01)=真)
{
双台阶=0.0;
步骤=(360+度值01)%360;
步长=360+步长;
如果(步骤>180和步骤<270)
{
返回true;
}
}
返回false;
}
如果角度是-1175,我们把它加到360,得到-815。然后在我们执行%运算后,值将为-95。再加上360,我们得到265。角度265确实在单位圆的第三象限。希望这个解决方案有一天会对某人有所帮助。添加第二个条件?如果(num01>=360&&num01%num02==0),也许可以添加
?为什么不使用value%360==90
?什么是“无限数学条件”?提示:return(num01%num02==0)
是编写相同内容的较短方法。感谢您的帮助!我也在尝试用负角度来处理这个问题。所以负角度的功是这样的:360+(负角度),这就是它的位置。So-90位于270度。那么对于-660,我如何计算出它在哪个象限?@Samurai,模(%
)运算符对于负数很好-660
是360*(-2)+60
,将其置于第一个象限。负角度为顺时针方向,正角度为逆时针方向。所以它会在第四象限。因为我们向左转两圈,再向左转60度。所以角度是300度。