0

в программе надо найти синус и косинус числа, имея угол (не в радианах) вычисляю косинус: Math.cos(num * Math.PI / 180) - значение правильное, с синусом: Math.sin(num * Math.PI / 180) - все правильно, пока не доходит до 180 или -180 - возвращает результат 1.224.... и т.д., что 100% неверно. Что делать? в чем ошибка

Don2Quixote
  • 1,705
  • 2
    что значит пока не доходит к 180 или -180 - возвращает результат 1.224? При каких выходных параметрах ты получаешь неверный результат? – Grundy Jan 05 '19 at 17:22
  • @Grundy если -180<num<180 то все верно, если же =180 или =(-180) то значение 1.224... и -1224... соответственно – solarisedigle Jan 05 '19 at 17:23
  • 3
    ты неправильно смотришь возвращаемое значение: 1.2246467991473532e-16 - e-16 показывает что число перед e нужно умножить на 10 в степени -16 - в данном случае это эквивалент 0. Убедиться в этом можно применив .toFixed к результату – Grundy Jan 05 '19 at 17:25
  • @Grundy ага. ок, и как тогда сделать чтоб возвращало 0? – solarisedigle Jan 05 '19 at 17:26
  • 2
    никак, это нормальное число. стандартная ошибка округления – Grundy Jan 05 '19 at 17:33
  • @Grundy хорошо, спасибо. Напишите ответ, приму – solarisedigle Jan 05 '19 at 17:48

0 Answers0