Wie kann ich die Tatsache umgehen, dass sin (M_PI) in C ++ nicht 0 ist?
In C ++,
const double Pi = 3.14159265;
cout << sin(Pi); // displays: 3.58979e-009
es SOLLTE die Zahl Null anzeigen
Ich verstehe, dass dies daran liegt, dass Pi approximiert wird, aber gibt es eine Möglichkeit, in meinem Programm den Wert Pi fest zu codieren, der 0 für sin (Pi) zurückgibt? (eine andere Konstante vielleicht?)
Wenn Sie sich fragen, was ich zu tun versuche: Ich konvertiere polar in rechteckig, und obwohl es einige printf () - Tricks gibt, die ich tun kann, um es als "0.00" zu drucken, wird es immer noch nicht konsistent zurückgegeben anständige Werte (in einigen Fällen bekomme ich "-0.00")
ie Zeilen, die Sinus und Cosinus erfordern, sin
x = r*sin(theta);
y = r*cos(theta);
BTW: Mein Rechteck -> Polar funktioniert einwandfrei ... es ist nur das Polar -> Rechteck
Vielen Dank
bearbeiten, Ich suche nach einem Workaround, damit ich sin (ein Vielfaches von Pi) als schöne runde Zahl auf die Konsole schreiben kann (idealerweise ohne tausend if-Anweisungen)