Magerquark.de

Zeichenketten in C# formatieren

Dieser Artikel hier soll im Laufe der Zeit für mich (und ggf. andere) eine schnell zu findende Kurzreferenz für Zeichenkettenformatierung in C# werden.

In C/C++ gibt es printf() und verwandte Funktionen um verschiedene Datentypen formatiert in Zeichenfolgen umzuwandeln. In .NET/C# sind es string.Format(), object.ToString() und verwandte Funktionen, die verwendet werden um dies zu erreichen.

Tipps

1.) Nachkommastellen festlegen

Um die Nachkommastellen beim Umwandeln von Fließkommazahlen (decimal, double, float) zu beeinflussen, einfach das Präfix „:F“ gefolgt von der Anzahl der Nachkommastellen angeben.

Beispiel:

decimal x = 0.00m;
double y = 1.38;

// Variablen x und y auf jeweils
// 2 Nachkommastellen formatieren.
string s1 = string.Format( "{0:F2}", x );
string s2 = string.Format( "{0:F2}", y );

2.) Vorkommastellen festlegen und mit Nullen auffüllen

Um die Vorkommastellen beim Umwandeln von Ganzzahlen (z.B. int, long) zu beeinflussen und auf eine feste Anzahl stellen zu bringen, einfach das Präfix „:“ gefolgt von der gewünschten Anzahl als Nullen („0“) verwenden.

Beispiel:

int i = 19;

// Variable i auf 5 Stellen formatieren,
// fehlende Stellen mit "0" auffüllen.
string s1 = string.Format( "{0:00000}", i );

3.) Integerzahlen hexadezimal mit führenden Nullen darstellen

Um ganze Zahlen hexadezimal mit einer festen Anzahl Stellen zu formatieren einfach ein „X“ gefolgt von der gewünschten Anzahl der Nullen (z.B. „4“) schreiben.

Beispiel:

int i = 234;

// Schreibt "00EA" in s1.
string s1 = i.ToString( "X4" );

Beispiel (alternativ zum vorherigen Beispiel, gleiches Ergebnis):

int i = 234;

// Schreibt "00EA" in s1.
string s1 = string.Format( "{0:X4}", i );

Internet-Ressourcen

Folgende Artikel/Seiten sind hilfreich:

Kommentare

10 Kommentare zu „Zeichenketten in C# formatieren“

  1. Avatar von Flocke

    Den Schreibfehler findest Du sicher selber;-)

    Andere Sache: Deine Story ist fertig, wieso kann ich Dir kein Trackback senden?

  2. Avatar von Uwe Keim

    Ich bin leider Trackback-Laie… 🙁

    Den Schreibfehler suche ich mal.

  3. Avatar von Uwe Keim

    Keine Schreibfehler gefunden, selbst mit Microsoft Office Word 2003-Rechtschreibprüfung nicht :-(.

  4. Avatar von Uwe Keim

    Ja, ich nehme auch Veräppelungen ernst! So bin ich.

  5. Avatar von christian

    da gibts dann auch noch die möglichkeit mit „###.##“ oder „000.00“

  6. Avatar von Uwe Keim

    Ist der Punkt dann auch mehrsprachig also wird im deutschen zum Komma?

  7. Avatar von Ralf van den Heuvel

    War mir sehr hilfreich. Bedankt.
    gez.
    c#-Rookie Vanden

  8. […] Uwe ist kurz erklärt, wie man in Strings Zahlen formatiert. Allerdings werden die Zahlen vom System […]

  9. Avatar von Baran
    Baran

    Wie ist es, wenn man Vor- und Nachkommastellen gleichzeitig festlegen möchte.

    string s1 = string.Format( „{0:00000:F2}“, i );

    geht nicht 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.