我正在使用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函数,还是有另一种方法可以提供此计算的准确性?
答案 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)
我会建议一些事情;
Math.Abs
和Math.Min
ddlHours.SelectedItem.Value
和ddlMinutes.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);