为什么.Net Math.Cos功能给出了与计算器不同的答案?

ero*_*las 5 .net c# math

我很困惑,我认为我的程序写得不正确,但现在我意识到问题所在.

我得到一个数字的余弦值的两个不同的值.

例如,这个数字为329.85

在计算器上我得到0.8647 .....

在我的C#程序中,我使用此表达式获得-0.99985159087810649

double asnwer = Math.Cos(329.85);
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下发生了什么吗?或者我做错了什么?

小智 11

在C#和.NET Framework中,三角数学方法适用于弧度.

http://msdn.microsoft.com/en-us/library/system.math.cos(v=vs.110).aspx

我建议创建一个将度数转换为弧度的方法,如下所示:

double DegreesToRadians(double degrees)
{
   return degrees * Math.PI / 180.0;
}
Run Code Online (Sandbox Code Playgroud)

然后尝试以下内容:

Math.Cos(DegreesToRadians(329.85));
Run Code Online (Sandbox Code Playgroud)


Bru*_*uno 6

你的计算器正在使用度数(虽然它也可能有弧度模式),而Math.Cos在C#中则需要弧度.

尝试: Math.Cos(329.85*2*Math.PI/360)