CString.Format() - brauche Hilfe damit!
-
Hallihallo,
ich bin gerade auf ein kleines Problem gestoßen und kriegs einfach nicht hin. Ich möchte mit CString.Format einen String formatieren. Ich habe die Anzahl von Nachkommastellen (also die Präzision), die gewünscht ist, in einer int-Variable (int genauigkeit) gespeichert und eine Variable vom Typ double (double wert). Nun möchte ich quasi folgendes machen:
str.Format("%.[genauigkeit]f", wert);
Aber wie bekomme ich meine Variable "genauigkeit" da rein? Ich hatte es mit
str.Format("%.%if", genauigkeit, wert);
probiert, aber das tuts nicht und mir fällt einfach keine Möglichkeit ein
Vielleicht kann mir da jemand von euch helfen? Das wär super! Ich sag schonmal danke!
-
CString str;
float sf = 56.584512;
str.Format("%.02f",sf);
MessageBox(str);die genauigkeit gibts du mit 02 zwei stellen hinterm komma an 03 für drei usw..
-
Wie der generelle Funktionsaufbau aussieht, weiß ich ja. Mein Problem ist, dass ich die Genauigkeit nicht explizit angeben möchte, sondern dass die in einer Variable abgelegt ist und ich nicht weiß, wie ich diese dann in die Methode integriert bekomme!
-
Habs gelöst, trotzdem danke!
Lösung:
str1.Format("%%01.%df", genauigkeit); str2.Format(str1, dWert);
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Man kann den Width und den Precision parameter mit einem Stern angeben:
str.Format("%.*f", genauigkeit, wert);
Gleiches gilt auch für die Weite, also folgendes würde auch gehen.
str.Format("%*.*f", weite, genauigkeit, wert);