002
22.03.2006, 14:19 Uhr
Isabelle
|
Mit printf:
C++: |
printf("%.5lf\n", dLatDeg);
|
Hier wird die Zahl auch richtig mit 4804.9998 ausgegeben. Das Problem ist nur, dass ich dLatDeg als Parameter an eine andere Funktion übergeben muss und dort in einen String konvertiere. Aber dLatDeg kommt dort schon nicht richtig an, sondern eben gerundet. Um eine double in einen String zu konvertieren habe ich das geschrieben:
C++: |
void doubleToString(double d, String &string) { ostringstream ostrTemp; ostrTemp << d; string = ostrTemp.str(); }
|
Ich habe auch schon versucht, dLatDeg direkt in der Methode, in der ich den Wert berechne so zu konvertieren:
C++: |
strLat.format("%.5lf", dLatDeg);
|
(Direkt nach der Berechnung, da ist nichts mehr dazwischen)
Allerdings erhalte ich dann, wenn ich mir den Wert von dLatDeg mit cout ausgeben lasse nur: 0.00000
Bis vor kurzem konnte ich mit format noch ganz normal arbeiten, keine Ahnung, warum mir jetzt nur noch Nullen angezeigt werden.
Danke für deine Hilfe!! Dieser Post wurde am 22.03.2006 um 14:29 Uhr von Isabelle editiert. |