Format()
Format() konvertiert numerische Eingabewerte in einen formatierten Dezimal-String. Der übergebene Wert wird wie bei str() analog zum übergebenen Datentyp zu einer Zeichenkette (string) mit Dezimaldarstellung konvertiert. Die Formatierungsanweisung weist die Funktion an, wie der Wert formatiert werden soll.
Präprozessor | Die Funktion ist zusätzlich im Präprozessor verfügbar, führt mit ausschließlich Konstanten als Parameter also nicht zur Erzeugung von Maschinencode. |
---|
Syntax
string = format( formatSpec, Ausdruck )
- formatSpec: Zeichenkette (Konstante), welche die Formatierungsanweisungen enthält.
- Ausdruck: Ausdruck mit numerischem Ergebnis.
Im Folgenden bezeichnet „Dezimalstring“ den in der Funktion konvertierten, numerischen Eingangswert in Dezimaldarstellung.
Formatierungszeichen | |
---|---|
Zeichen | Beschreibung |
0 | Platzhalter für eine Zahl aus dem Dezimalstring |
. | Platzhalter für den Dezimalpunkt. Bei Integerwerten führt dieser Platzhalter zum Auftrennen der Zahlendarstellung an dieser Position. Bei Fließkommawerten wird die Zahl an dieser Position anhand ihrer Kommastelle ausgerichtet. Fehlt der Punkt, wird bei Fließkommazahlen nur die Ganzzahl dargestellt. |
+ | Platzhalter für das Vorzeichen. Ist die Zahl negativ, wird „-“ eingesetzt, ist sie positiv, wird „+“ eingesetzt. |
- | Platzhalter für das negative Vorzeichen. Ist die Zahl positiv, wird ein Leerzeichen eingesetzt. |
Sonstige Zeichen in formatSpec werden nicht interpretiert und in den Ergebnisstring übernommen.
Die Formatierung ist rechtsbündig, erfolgt also beginnend von der niederwertigsten zur höherwertigsten Dezimalstelle.
Beispiel
const F_CPU=20000000 avr.device = atmega328p avr.clock = F_CPU avr.stack = 64 uart.baud = 19200 uart.recv.enable uart.send.enable dim var as integer print 12;"format example" print print "konstante:" print "format('00000.00',12345) : ";34;format("00000.00",12345);34 print "format('-00000.00',12345) : ";34;format("-00000.00",12345);34 print "format('-00000.00',-12345): ";34;format("-00000.00",-12345);34 print "format('+00000.00',12345) : ";34;format("+00000.00",12345);34 print "format('+00000.00',-12345): ";34;format("+00000.00",-12345);34 print print "variable:" var=12345 print "format('00000.00',var) : ";34;format("00000.00",var);34 print "format('-00000.00',var) : ";34;format("-00000.00",var);34 print "format('-00000.00',-var) : ";34;format("-00000.00",-var);34 print "format('+00000.00',var) : ";34;format("+00000.00",var);34 print "format('+00000.00',-var) : ";34;format("+00000.00",-var);34 print print "ready" do loop