С# Math.Cos(double) возвращает неверное значение

В С# у меня есть это:

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

Но когда я делаю это в калькуляторе, я получаю это

(0.84366148773210745476752872050588)

Почему он возвращает неправильное значение?

Ответ 1

Math.Cos ожидает угол в радианах. Я подозреваю, что ваш калькулятор работает в градусах.

Вы должны иметь возможность получить тот же ответ, преобразовывая значение в градусах в радианы:

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

Ответ 2

Вы, вероятно, путаете степени с радианами. Большинство калькуляторов используют градусы, тогда как большинство языков программирования настроены на использование радианов.

Ответ 3

Потому что Math.Cos работает в радианах и вашем калькуляторе в градусах.

Ответ 4

У меня похожая проблема:

double coswinkel = -4 * Math.PI * (500 / 400) * 1.4166;
double grad = Math.Cos(coswinkel * Math.PI/180 );

Это = 0,95212127934779467.
Это должно быть -0.966196.
Зачем?