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äprozessorDie 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

Ausgabe