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:
- „Custom String Formatting in .NET“ auf CodeProject.com.
- „Anpassen von Formatzeichenfolgen“ in der MSDN Library.
- „Strings formatieren mit C#“ mit weiteren Beispielen.