В С++,
const double Pi = 3.14159265;
cout << sin(Pi); // displays: 3.58979e-009
СЛЕДУЕТ отображать нулевой номер
Я понимаю, что это связано с тем, что Pi аппроксимируется, но есть ли способ, которым я могу иметь значение Pi, жестко закодированное в моей программе, которое вернет 0 для sin (Pi)? (может быть, другая константа?)
В случае, если вам интересно, что я пытаюсь сделать: я конвертирую полярную в прямоугольную, и, хотя есть некоторые трюки printf(), которые я могу сделать, чтобы напечатать их как "0.00", она все еще не последовательно возвращают достойные ценности (в некоторых случаях я получаю "-0,00" )
Линии, которые требуют sin и косинус:
x = r*sin(theta);
y = r*cos(theta);
Кстати: My Rectangular → Polar отлично работает... это просто Polar → Rectangular
Спасибо!
edit: Я ищу обходной путь, чтобы я мог печатать грех (несколько кратных Pi) как приятный круглый номер на консоли (в идеале без тысячи if-statement)