2 Zahlen nach dem Komma ausgeben ??
-
Hi, wie kann ich nur die letzten 2 Zahlen nach dem Komma ausgeben also
zb.
2.30
Ausgabe : 30;
-
Wo sind die 2.30 drin?? In eine String, einem float (2.3)??
Für String:
String test="2.30"; test=test.SubString(test.Pos(".")+1,2);
-
In einem Float.
-
da steht dann aber nicht 2.30, sondern 2.3.
Konstrukte wie
float x=502.30; x=x-(int)x;führen zu Rundungsfehlern.
-
Ja Loool dann Hab ich einfach 0.30 ? Aber ich möchte nur 30 haben.
-
Wie wäre es, du schaust die nochmal die Dateitypen an. Ein float oder double kann nicht 2.30 enthalten. Entweder du findes einen mathematischen Weg die Vorkommastellen abzuschneiden und den Wert mit 100 zu multiplizieren (das führt meistens zu Rundungsfehlern) oder du wandelst den float in einen String um und führst eine Stringbearbeitung durch.
-
*baut Christian's Beispiel weiter*
float v=2.30; CString t;t.Format("%.2f",v); t=t.SubString(t.Pos(".")+1,2);Bringt das das richtige Ergebnis?
-
Nicht ganz, da CString meines Wissens zur MFC gehört und nicht zur VCL
-
Christian211 schrieb:
Nicht ganz, da CString meines Wissens zur MFC gehört und nicht zur VCL
Ups, sorry - aber AnsiString dürfte auch eine Format()-Methode haben, wenn mich nicht alles täucht.
(falls alle Stricke reißen, bleibt immer noch der Weg über sprintf() oder stringstreams)