Kategorie: Script
/ Strings
Ab Engineversion: 1.0 OC
Format
Beschreibung
Setzt eine Zeichenkette aus verschiedenen Werten zusammen. Dabei wird text von vorne bis zum Ende nach mit '%' beginnenden Platzhaltern durchsucht, um diese dann durch die Parameter zu ersetzen.
Das allgemeine Syntax für diese Platzhalter lautet:
Länge gibt eine Minimallänge an. Wenn der Wert kürzer ist, wird er rechtsbündig ausgerichtet und mit Leerzeichen aufgefüllt. Wird vor die Länge eine '0' gestellt, wird mit Nullen statt Leerzeichen aufgefüllt.
Das Präzisionsfeld verhält sich je nach dem Parametertyp: Bei Ganzzahlen (d) gibt es die Minimalzahl der auszugebenden Zahlen an (der Rest wird mit Nullen aufgefüllt), während es bei Zeichenketten (s) die Maximalzahl der auszugebenden Zeichen angibt.
Das allgemeine Syntax für diese Platzhalter lautet:
%[Länge][.Präzision]Typ
Bis auf den Typ sind also alle Parameter optional. Der Typ gibt den Datentyp an, den der Parameter hat. Möglich sind folgende Werte: Typ | Bedeutung |
---|---|
d | Ganzzahl (int) |
x | Ganzzahl (int), hexadezimale Ausgabe (0123456789abcdef) |
X | Ganzzahl (int), hexadezimale Ausgabe (0123456789ABCDEF) |
i | id (Bei IDs funktionieren die restlichen Parameter wie Länge und Präzision nicht!) |
s | Zeichenkette |
v | Beliebig. Vor allem nützlich zur Fehlersuche. |
Das Präzisionsfeld verhält sich je nach dem Parametertyp: Bei Ganzzahlen (d) gibt es die Minimalzahl der auszugebenden Zahlen an (der Rest wird mit Nullen aufgefüllt), während es bei Zeichenketten (s) die Maximalzahl der auszugebenden Zeichen angibt.
Syntax
string Format(string text, ...);
Parameter
- text:
- Zeichenkette, in die die Werte eingesetzt werden
- ...:
- Werte, die in die Zeichenkette eingesetzt werden
Beispiele
Log(Format("Hello, %s.You have %d Clonks!", GetPlayerName(0), GetCrewCount(0)));
Gibt zum Beispiel "Hello Twonky, you have 3 Clonks!" auf dem Bildschirm aus.
Log(Format("'%3d'", 1));
Gibt aus: ' 1'
Log(Format("'%3.2d'", 5));
Gibt aus: ' 05'
Log(Format("'%.2s'", "test"));
Gibt aus: 'te'
Log(Format("'%03d'", 12));
Gibt aus: '012'