C# 包含无限数学方程的If语句

C# 包含无限数学方程的If语句,c#,C#,我试图执行代码,使特定的无限数学条件为真。该条件为真,因此该值=90+360X。其中X是一个整数。所以我用的是单位圆,只想要等于正Y轴的度数。这是一张用橙色高亮显示的轴的照片 例如,角度90、450、810等将使条件为真。 我已尝试在我的代码中使用%,如您所见: else if (DegreeValue == 90 || ManyRotations90(DegreeValue, 90) == true) { Console.WriteLine("Angl

我试图执行代码,使特定的无限数学条件为真。该条件为真,因此该值=90+360X。其中X是一个整数。所以我用的是单位圆,只想要等于正Y轴的度数。这是一张用橙色高亮显示的轴的照片

例如,角度90、450、810等将使条件为真。 我已尝试在我的代码中使用%,如您所见:

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度。