C#Math.Cos(double)返回错误的值

时间:2012-06-23 01:18:03

标签: c#

在C#中我有这个:

double Cos = Math.Cos(32.471192290848492); //Equals 0.49299653250335213

但是当我在计算器中执行此操作时,我得到了这个

(0.84366148773210745476752872050588)

为什么它返回错误的值?

3 个答案:

答案 0 :(得分:15)

Math.Cos期望弧度以弧度。我怀疑你的计算器是以度数工作的。

您应该能够通过将度数值转换为弧度来获得相同的答案:

double angleInDegrees = 32.471192290848492;
double cos = Math.Cos(angleInDegrees * (Math.PI / 180.0));

答案 1 :(得分:6)

你可能会把度数与弧度混淆。大多数计算器使用Degrees,而大多数编程语言都设置为使用弧度。

答案 2 :(得分:4)

因为Math.Cos适用于弧度,而您的计算器适用于