Frage zu DrawString

Hallo zusammen,

im Prinzip komme ich mit DrawString zwar gut klar. Habe aber ein Proble, wenn ich Zahlen darstellen möchte. Da habe ich bisher keine Möglichkeit gefunden diese zu Formatieren, also z.B. die Anzahl der Nachkommastellen festzulegen, Tausendertrennzeichen usw.

Kann mir jemand sagen, wie ich das anstellen muss?

Vielen Dank für die Hilfe.

Hi!
DrawString() kann nur das als String hinschreiben, was Du ihm gibst und führt selbst keinerlei Formatierung durch. Dafür sorgen, dass die Zahlen so formatiert, wie Du es möchtest, im String stehen, musst Du daher vorher machen.
Sehr flexibel ist dafür die statische Methode string.Format(). Lies’ Dir die Dokumentation dazu durch, da steht alles drin.
Aber auch die nummerischen Typen (int, float, double usw.) haben eine Methode ToString(string format), mit der Du sehr einfach eine bestimmte Anzahl von Vor- und Nachkommastellen erreichen kannst.

Gruß,
Martin

Hallo nochmal!

Zunächst Danke für die schnelle Antwort.

Leider bekomme ich das mit dem Formatieren, trotz Hilfefunktion, Buch und Goolge nicht weiter. Bitte deshalb nochmal um Hilfe:

DrawString formatiert also nicht, soweit klar. Nur wie baue ich mir ein formatiertes String?

Wenn ich z.B. die Zahl 1,234.56789 habe (Komma = Tausendertrennung, Punkt = Dezimalzeichen), wie erstelle ich ein Sring, das so aussieht:
„1.234,56“ ? Da gibt es doch bestimmt irgend eine Funktion, die das kann, oder muss ich mir dazu selbst eine schreiben?

Wäre nett, wenn mir jemand helfen kann, bin der Verzweifelung echt nahe.

Vielen Dank schon mal!

Hallo nochmal!
U.a. hier: http://msdn.microsoft.com/en-us/library/f71z6k0c.aspx sind jede Menge Beispiele sowie Links zu den Formatierungszeichen für die Formatangabe.

Für Deinen konkreten Fall z.B. so:

float zahl = 1234.56789;
string s = zahl.ToString("N");

Allerdings bekommst Du dann nicht „1.234,56“ sondern „1.234,57“, weil ja gerundet wird.
Falls Du tatsächlich nur abschneiden und nicht runden willst, kannst Du Dir bestimmt auch mit einer eigenen Formatierungsangabe (Link ebenfalls oben) etwas bauen.

Gruß,
Martin