Grundlagen: Formatieren von Werten

Um Werte, also Zahlen, formatiert darzustellen, benötigen wir eine Formatierungs-Funktion. Hierfür eignet sich die Funktion Format() des Datentyps string (string.Format()). Als 1. Parameter müssen wir der Format-Funktion unsere Formatierungs-Zeichenkette übergeben. Nun können wir der Funktion noch weitere 1 bis 3 Parameter übergeben, welche zur Formatierung verwendet werden sollen. Der Datentyp der Parameter spielt dabei keine Rolle. Falls wir mehr als 3 Werte formatieren wollen oder müssen, kann auch ein Array mit zu formatierenden Werten übergeben werden. Um eine Formatierung durchführen zu können, benötigen wir bestimmte Zeichen und Kennungen. Ein Verweis auf einen zu formatierenden Wert muss innerhalb der Zeichenkette in geschweifte Klammern gesetzt werden. Innerhalb der geschweiften Klammern wird nun der Index des zu formatierenden Werts angegeben. Falls keine weiteren Angaben getroffen werden, wird die genauere Formatierung des Wertes durch den Compiler festgelegt. Um die konkrete Formatierung selbst festzulegen, kann hinter dem Index ein Doppelpunkt notiert werden. Hinter dem Doppelpunkt erfolgt nun die Angabe der Formatierung. Hierfür ist die Kenntnis von verschiedenen Suffixen von Nöten: d steht für Dezimal, c für Währung (im Beispiel wird das €-Zeichen vermutlich als Fragezeichen dargestellt!), F für Fließkommazahlen, n für Fließkommazahlen mit Tausendertrennzeichen und X für hexadezimale Schreibweise. Diese Suffixe lassen sich teilweise weiter spezifizieren: z. B. durch F1 wird eine Fließkommazahl mit einer Nachkommastelle angezeigt. Mit d6 wird eine Dezimalzahl mit Nullen aufgefüllt (z. B. wird 1234 zu 001234). Die Funktion Console.Write() und Console.WriteLine() enthält bereits eine Formatierungs-Funktion, wodurch wir string.Format() bei Konsolen-Anwendungen nicht unbedingt brauchen. Ein Beispiel zur alternativen Formatierung mit der WriteLine()-Funktion der Console-Klasse ist unten im Programmcode dargestellt.

Program.cs

Console.WriteLine(string.Format("E-Book-Version {0:F1} vom Jahr {1}", 2, 2015));
// für Konsolen-Programme auch: Console.WriteLine("E-Book-Version {0:F1} vom Jahr {1}", 2, 2015);

Console.WriteLine(string.Format("{0:d6} {0:c} {0:n} {0:X4}", 1234));
// für Konsolen-Programme auch: Console.WriteLine("{0:d6} {0:c} {0:n} {0:X4}", 1234);

Console.ReadKey();
Download

LinksRechts