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

时间:2014-02-15 01:31:34

标签: c# .net math

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

我为一个数字的余弦得到了两个不同的值。

例如这个号码为329.85

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

在我的C#程序中,我得到-0.99985159087810649 使用这个表达式

double asnwer = Math.Cos(329.85);

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

3 个答案:

答案 0 :(得分:10)

在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;
}

然后试试以下内容:

Math.Cos(DegreesToRadians(329.85));

答案 1 :(得分:6)

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

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

答案 2 :(得分:-2)

你的计算器是假设弧度。 .NET是度。