ASP.NET& C#abs和min函数

时间:2016-03-08 07:04:52

标签: c# asp.net visual-studio-2015

我正在使用Visual Studio 2015和ASP.NET& C#。我有这个计算我试图实现C#编码,但它说abs和min数学函数不存在。

这是代码:

private double angle(int h, int m)
{
    h = Convert.ToInt32(ddlHours.SelectedItem.Value);
    m = Convert.ToInt32(ddlMinutes.SelectedItem.Value);

    double hAngle = 0.5D * (h * 60 + m);
    double mAngle = 6 * m;
    double angle = Math.abs(hAngle - mAngle);
    angle = Math.min(angle, 360 - angle);
    return angle;
}

最终,我希望答案能够转到我的标签上。

如何获得abs和min函数,还是有另一种方法可以提供此计算的准确性?

3 个答案:

答案 0 :(得分:2)

c#区分大小写

double angle = Math.Abs(hAngle - mAngle);
angle = Math.Min(angle, 360 - angle);

答案 1 :(得分:1)

使用Intellisense。它是Abs的首都A:https://msdn.microsoft.com/en-us/library/a4ke8e73(v=vs.110).aspx

如果Intellisense不适合您,MSDN就是您的朋友。将光标放在单词abs上并按CTRL + SPACE,它将为您纠正

答案 2 :(得分:0)

我会建议一些事情;

  • C#是case sensitive语言。这些方法的正确语法是Math.AbsMath.Min
  • 根据您的课程结构而定,但此方法会更好static method,因为可能它不需要实例来计算此天使值。
  • 您不能将ddlHours.SelectedItem.ValueddlMinutes.SelectedItem.Value分配给方法内的参数。在这种情况下,angle(5, 30)angle(6, 40)方法调用之间会有差异,因为两者都会根据这些下拉列表值进行计算。
  • 将您的下拉列表值解析为整数,并使用这些参数调用angel方法。

    static double angle(int h, int m)
    {
        double hAngle = 0.5D * (h * 60 + m);
        double mAngle = 6 * m;
        double angle = Math.Abs(hAngle - mAngle);
        return Math.Min(angle, 360 - angle);
    }
    

并将此方法称为;

int h = Convert.ToInt32(ddlHours.SelectedItem.Value);
int m = Convert.ToInt32(ddlMinutes.SelectedItem.Value);

double angel = YourType.angel(h, m);