Как работает math.sin и math.cos. Почему считает неправильно?

Задание:
Рассчитать значение у при заданном значении х:
y=sin(x) при x>0 или y=cos(x) в противном случае.

int x = int.Parse(Console.ReadLine());
                double y;
                if (x > 0)
                {
                    y = Math.Sin(x);
                    Convert.ToInt32(y);
                    Console.WriteLine("y = sin " + y);
                }
                else
                {
                   y = Math.Cos(x);
                   Console.WriteLine("y = cos " + y);
                }


при sin5 должно получиться 0.087
но получается - 0.95
Может это я что-то не понимаю в данном классе?
  • Вопрос задан
  • 258 просмотров
Решения вопроса 2
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
Он рассчитывает в радианах, а не градусах
Ответ написан
Комментировать
@Bzr4 Автор вопроса
Если кому-то интересно то вот решение:
double x = Convert.ToDouble(Console.ReadLine());
            double y;
            x = (Math.PI * x) / 180; // перевод в градусы

            if (x > 0)
            {
                y = Math.Sin(x);
            }
            else
            {
                y = Math.Cos(x);
            }
            Console.Write(y);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы