С# 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.
Зачем?