StringFormat

Aus SiteparkWiki
Version vom 13. März 2009, 13:09 Uhr von Jankowski (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Beschreibung

Mit dem Stringformat lassen sich Zeichenketten in einem bestimmten Format ausgeben. Ein Stringformat besteht aus einer Zeichenkette, die Platzhalter enthält. Diese Platzhalter werden durch Werte ersetzt. Die Platzhalter können durch verschiedene Muster beschrieben werden, um die Formatierung der einzufügenden Werte zu definieren.

Hier ein Beispiel für eine Zeichenkette mit enthaltenen Formatierungszeichen:

Hier ist eine Nummer-%4d-und ein -%10s-Wort.

Für die Formatierung werden für dieses Beispiel zwei Werte benötigt, die in die Zeichenkette eingesetzt werden sollen. Werden beispielsweise die Werte 5 und 'kleines' verwendet, ergibt sich daraus folgende formatierte Zeichenkette

Hier ist eine Nummer-   5-und ein -   kleines-Wort.

Formatierungszeichen

Die Formatierungszeichen können aus bis zu 6 Teilen bestehen, siehe Tabelle unten. Sie müssen in der hier verwendeten Reihenfolge benutzt werden.

% Flags Minimaler Platz Punkt Genauigkeit Typ
erforderlich optional optional optional optional erforderlich

%

% markiert den Beginn der Formatierungssymbole und ist zwingend erforderlich.

Flags

Formatbezeichner können mit Hilfe folgender Flags variiert werden.

Flag Beschreibung
- linksbündig
0 Felder mit 0 ausfüllen (an Stelle von Leerzeichen).
+ Vorzeichen einer Zahl immer ausgeben.
Leerzeichen positive Zahlen mit Leerzeichen beginnen.
# Je nach angegebenem Typ had dieses Flag verschiedene Bedeutungen

%#o (Oktal) 0 Präfix wird eingefügt.
%#x (Hex) 0x Präfix wird bei Werten ungl. Null eingefügt.
%#X (Hex) 0X Präfix wird bei Werten ungl. Null eingefügt.
%#e Dezimalpunkt immer anzeigen.
%#E Dezimalpunkt immer anzeigen.
%#f Dezimalpunkt immer anzeigen.
%#g Dezimalpunkt immer anzeigen. Nullen nach dem Dezimalpunkt werden nicht beseitigt.
%#G Dezimalpunkt immer anzeigen. Nullen nach dem Dezimalpunkt werden nicht beseitigt.

Minimaler Platz

Standardmäßig wird die Anzahl der Felder so gewählt, dass der für die Ausgabe benötigte Platz minimal ist. Es kann aber eine Zahl angegeben werden, die bestimmt, wieviele Zeichen für den einzusetzenden Wert minimal ausgegeben werden sollen. Beinhaltet der Wert weniger Zeichen, wird der Rest mit Leerzeichen aufgefüllt. Die Werte werden rechtsbündig ausgegeben (Die Leerzeichen werden vor den Wert gesetzt). Mit Hilfe des - Flag können diese auch linksbündig ausgeben werden.

Punkt

Wenn man die Genauigkeit (d.h. die Anzahl der Nachkommastellen) festlegen will, muss diesem Wert ein Punkt vorangestellt werden.

Genauigkeit

%8.2f

Heißt z.B., dass ein Bereich von 8 Zeichen für die Ausgabe reserviert werden soll. Die letzten beiden Stellen werden für die Nachkommastellen reserviert.

%.2f

Es wird ein Bereich mit mindestens 2 Zeichen bereitgestellt und für Nachkommastellen reserviert.

Typ

Der Typ beschreiben die zur Ausgabe erwarteten Daten. Mit dem Typ wird die Formatierungsbeschreibung für einen Wert abgeschlossen. Folgende Typen können angegeben werden:

Typ Beschreibung
s Es wird ein String erwartet
d Es wird ein dezimaler Integer-Wert erwartet
o Es wird eine Oktalzahl erwartet
x oder X Es wird eine Hexdezimalzahl erwartet
f Es wird eine dezimale Fließkommazahl erwartet
% Gibt ein % aus.
n Gibt einen Zeilenumbruch aus.