Double
-
Ich weiß is ne blöde Frage, aber wie schneide ich überflüssige Nullstellen bei Double ab.
-
Hi!
Eine schlechte Lösung aber dürfte funtzen:
double zahl_d;
float zahl_f;
CString str;
str.Format("%4.2d",zahl_d);
zahl_f = atof(str);Ist Ein kleiner Umweg
mfg mike
-
Leider bringt mich das nicht sehr weiter, da ich die Double Werte auch wieder in String umwandeln will und er mir dann ganz andere Zahlen, als die eingegebenen anzeigt.
-
d = int(d);
-
Wenn ich "überflüssige Nullstellen" richtig verstanden habe, geht das glob ich net.
double d =3.1400;
d = int(d);ergit d=3 sollte aber d=3.14 sein
mfg mike
-
Ja es soll z.B. von 3.57000 auf 3.57 geschnitten werden. Gibt es da keine einheitliche Funktion ?
-
Am besten wie gesagt in nen String packen und ab der letzten Null abschneiden.
So in etwa (nicht getestet)CString str; str.Format("%g", mydouble); int pos = str.Find("."); if(pos != -1) { char c; int p = str.GetLenght(); do { --p; c = str[p]; } while(c == '0'); str = str.Left(p); }
EDIT: Hatte was vergessen
EDIT(2): Verdammt nochmal, jetzt aber[ Dieser Beitrag wurde am 06.04.2003 um 16:27 Uhr von MaSTaH editiert. ]