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.

Große Dateien sendenHomepage erstellenSharepoint StuttgartTest Management Software

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:

(Stichwörter für Suchmaschinen: printf sprintf string format strings formatieren tostring cout)

10 thoughts on “Zeichenketten in C# formatieren

  1. Den Schreibfehler findest Du sicher selber;-)

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

  2. Pingback: welt-held.de » Blog Archive » C#: Zahlen formatieren

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

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

    geht nicht :)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>