IntToStr(x) Nachkommastellen erzwingen
-
Hi!
Hab eine int-Zahl und konvertiere die in einen AnsiString (bzw. muss das tun). Jetzt will ich bei dieser Formatierung erreichen, dass immer eine bestimmte Anzahl von Nachkommastellen ausgegeben wird, hier zum Beispiel 3. Also wenn x=3 ist, soll in dem AnsiString später "3.000" stehen. Vorschlag?
-
FloatToStrF
-
Ich würde da per strcat() die nachkomma anhängen.
Also sowas
strcat(mystring,".000")Gruß
-
heimchen schrieb:
Hi!
Hab eine int-Zahl und konvertiere die in einen AnsiString (bzw. muss das tun). Jetzt will ich bei dieser Formatierung erreichen, dass immer eine bestimmte Anzahl von Nachkommastellen ausgegeben wird, hier zum Beispiel 3. Also wenn x=3 ist, soll in dem AnsiString später "3.000" stehen. Vorschlag?IntToStrF, habs grad selbst entdeckt, danke!
-
Musst aber wissen das er dir da mehr als 3 Nullen anhängt.
-
@Croatiancow
Da wir hier sowohl StandardC++ als auch die VCL zur verfügung haben, sollten wir diese auch verwenden und auf diese C-Überbleibsel wie strcat verzichten.int x(3); AnsiString mystring(IntToStr(x)); mystring += ".000";So sieht das schon besser aus.

-
mystring += ".000";aber nur wenn man den DecimalSeparator auf "." stellt sonst gibts Probleme
wenn man den String wieder in eine Zahl umwandeln möchte.oder man benutzt
int i=3; AnsiString sErgebnis = FormatFloat("0.000", i);
-
Da ich nicht drei Nullen anhängen will, sondern drei Nachkommastellen ausgeben, wahr FloatToStrF schon genau das, was ich suchte....