Syntax

Top  Previous  Next

Skripte > Klassen-Elemente und C++-Befehle > Formatierungsanweisungen > Syntax

 

format(  format-string  ) % arg1 % arg2 % ... % argN

 

Der Format-String enthält Text, in dem spezielle Anweisungen durch Strings ersetzt werden, die sich aus der Formatierung der übergebenen Argumente ergeben.

 

Hinweis: Die Format-Syntax ist angelehnt an die von printf der Programmiersprache C. Wer mit printf vertraut ist, findet eine Diskussion der Differenzen in Samuel Krempps originaler Dokumentation der Boost Format library bei www.boost.org. Über die standard printf Format-Spezifikationen hinaus, sind neue Funktionen, wie z.B. die zentrierte Ausrichtung implementiert.

 

In Format-Strings werden Anweisungen akzeptiert, die in mehreren Formen formuliert werden können:

 

Traditionelle printf Format-Strings : %spec, wobei spec eine printf-Format-Spezifikation ist. Dies wird im TextTransformer als überholt betrachtet.

 

%|spec|, wobei spec eine printf-Format-Spezifikation ist.Die der Klammerung dienenden senkrechten Striche sollen zum einen die Lesbarkeit des Formatausdrucks erhöhen, vor allem aber machen sie Typ-Konvertierungszeichen überflüssig, die in der ersten Form erforderlich sind. (Optional können sie noch immer verwendet werden.) Z..B. : "%|-5|" wird die nächste Variable auf eine Breite von fünf Zeichen mit Linksausrichtung formatieren (ebenso wie die traditionellen printf-Anweisungen : "%-5g", "%-5f", "%-5s" ..)

 

%N%; diese einfache Positionsbezeichnung fordert die Formatierung des N'ten Arguments - ohne jegliche Formatierungsoption.

 

 

 

Eine Spezifikation spec hat die Form : [ N$ ] [ flags ] [ width ] [ . precision ]

 

Felder innnerhalb von eckigen Klammern sind optional. Jedes dieser Felde wird im folgenden einzeln erklärt :

 

N $ (optionales Feld) bestimmt, dass die Format-Spezifikation auf das N'te Argument angewendet wird. Falls es nicht vorhanden ist, werden die Argumente nacheinander genommen (und es ist dann ein Fehler, für ein späteres Argument eine Nummer zu verwenden)

 

flags wird aus einer Reihe der Folgenden gebildet :

 

Flag

Bedeutung

'-'

linke Ausrichtung

'='

zentrierte Ausrichtung

'_'

interne Ausrichtung

'+'

Vorzeichen auch für positive Zahlen

'#'

numerische Basis und Dezimalpunkt anzeigen

'0'

mit 0'n auffüllen (nach dem Vorzeichen oder der Basis)

' '

Falls der String nicht mit + oder - beginnt, ein Leerzeichen vor dem konvertierten String einfügen

 

 

# width bestimmt eine Minimalbreite für einen String, der sich aus einer Konvertierung ergibt. Falls nötig, wird der String durch Ausrichtungs- und Füllzeichen aufgefüllt, die im Format-String angegeben sind (z.B. flags '0', '-', ..)

 

# precision (mit vorangestelltem Punkt), bestimmt die Präzision

 

Wenn eine Fließkommazahl ausgegeben wird, bestimmte sie die maximale Anzahl der Ziffern:

 

       nach dem Dezimal-Punkt, im wissenschaftlichen Modus

       insgesamt, im default Modus

 

Wenn es für ein String-Argument benutzt wird hat precision eine andere Bedeutung : der String nach der durch precision gesetzten Anzahl Zeichen abgeschnitten.  (Dabei wird ein eventuelles Auffüllen auf eine bestimmte Breite nach dieser Kürzung vorgenommen.)

 

#  %{nt} , wobei n eine positive Zahl ist, fügt eine absolute Tabellierung ein. Das bedeutet, dass, falls nötig, der String mit Zeichen aufgefüllt wird, bis seine Länge die Zahl n erreicht hat. (s. Beispiele )

 

# %{nTX} fügt auf gleiche Weise eine Tabellierung ein, benutzt aber X als Füllzeichen, statt des Leerzeichens im default-Zustand.

 



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English