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

C#Math.Cos(double)返回错误的值,c#,C#,在C#中,我有: double Cos = Math.Cos(32.471192290848492); //Equals 0.49299653250335213 但是当我在计算器里做这个的时候,我得到了这个 (0.84366148773210745476752872050588) 为什么返回了错误的值?您可能将度与弧度混淆了。大多数计算器使用度,而大多数编程语言设置为使用弧度 Math.Cos期望以弧度为单位的角度。我怀疑你的计算器是用度数计算的 通过将度值转换为弧度,您应该能够得到相同的答

在C#中,我有:

double Cos = Math.Cos(32.471192290848492); //Equals 0.49299653250335213
但是当我在计算器里做这个的时候,我得到了这个

(0.84366148773210745476752872050588)

为什么返回了错误的值?

您可能将度与弧度混淆了。大多数计算器使用度,而大多数编程语言设置为使用弧度

Math.Cos期望以弧度为单位的角度。我怀疑你的计算器是用度数计算的

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

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

因为
Math.Cos
以弧度为单位,计算器以度为单位。

这是的副本。也许这些应该合并,问答应该扩展到所有主要的触发操作,以避免将来的重复。可能的重复似乎不起作用。我在C#中得到0.49分。我在windows计算器中得到了0.84。@马特再试一次,这就是问题所在(里德的代码可以工作。)