PRINT USING

Aus C64-Wiki
Wechseln zu: Navigation, Suche
PRINT USING
Format: PRINT[#<logische Dateinummer>,] USING "<Formatvorgabe>"; <Ausdruck> [, …] [;]
Parameter
<logische Dateinummer>: numerischer Ausdruck im Wertebereich von 0 bis 255
<Formatvorgabe>: Zeichenkettenausdruck
<Ausdruck>: beliebiger numerischer oder Zeichenkettenausdruck
Einordnung
Typ: Anweisung
Kontext: Ein/Ausgabe
Aufgabe: Formatierte Textausgabe
Abkürzung: ? usI bzw. pR<logische Dateinummer>,usI
Verwandte Befehle
PRINT, PUDEF

Anmerkung: Dieser Artikel beschreibt den BASIC-Befehl PRINT USING ab Commodore BASIC V3.5 oder höher

Mit der Anweisung PRINT USING ist es möglich, Zeichenketten oder numerische Variable in einem festen Format auf dem Bildschirm, dem Drucker oder einem anderen Gerät auszugeben. Numerische und Zeichenkettenausdrücke dürfen beliebig gemischt werden, müssen aber durch Kommas getrennt sein. Im Gegensatz zu PRINT ist ein Semikolon nur am Ende des Statements erlaubt, um den Zeilenvorschub zu unterdrücken. Die speziellen PRINT-Funktionen TAB und SPC sind nicht erlaubt, sondern führen zu einem ?SYNTAX ERROR. Ebenfalls zu einem ?SYNTAX ERROR führen ungültige Formatvorgaben, wie z.B. 2 oder mehr Dezimalpunkte.

Der Parameter Formatvorgabe legt fest, wie die Ausgabe formatiert wird. Vor und nach den eigentlichen Formatierungszeichen darf ein Text aus beliebigen Zeichen (ausgenommen den Formatierungszeichen selbst) stehen. Mögliche Formatierungszeichen sind:

Zeichen numerische Variable Zeichenkette Bedeutung
# (Nummern-Raute) × × Feste Feldlänge, überschüssige Zeichen werden abgeschnitten. Muss mindestens einmal vorkommen.
+ (Plus) × Platzhalter für positives Vorzeichen. Darf nur einmal vorkommen und nicht zusammen mit Minus.
- (Minus) × Platzhalter für negatives Vorzeichen. Darf nur einmal vorkommen und nicht zusammen mit Plus.
. (Dezimalpunkt) × Platzhalter für Dezimalpunkt. Darf nur einmal vorkommen.
, (Komma) × Platzhalter für Tausender-Trennzeichen. Darf beliebig oft vorkommen.
$ (Dollarzeichen) × Platzhalter für Dollarzeichen bzw. Währungssymbol. Es muss mindestens ein #-Zeichen vorangestellt sein, sonst wird es als Fixtext interpretiert.
↑↑↑↑ (vier Exponentzeichen) × Gibt Zahl im Zehner-Potenzformat aus (xEy). Weniger als 3 Exponentzeichen verursachen einen ?SYNTAX ERROR, bei mehr als 3 werden die überzähligen als Fixtext interpretiert
= (Gleichheitszeichen) × Zentriert Zeichenkette innerhalb der Formatvorgabe durch #. Wirkt bei Zahlen wie ein #.
> (Größer-als-Zeichen) × Formatiert Zeichenkette rechtsbündig innerhalb der Formatvorgabe durch #. Wirkt bei Zahlen wie ein #.
  • Überschreitet die Länge einer numerischen Variable die Länge der Formatvorgabe, werden stattdessen entsprechende viele * ausgegeben. Bei Zeichenketten werden die überschüssigen Zeichen rechts abgeschnitten.
  • Zahlen werden immer rechtsbündig formatiert.
  • Überzählige Kommastellen werden nicht einfach abgeschnitten, sondern gerundet.
  • Die einzelnen Platzhalterzeichen können mittels PUDEF umdefiniert werden.

Beispiele[Bearbeiten]

10 X = 23 : Y = 320.10 : A$ = "COMMODORE 16"
20 PRINT USING "$##.##"; 26.12, X, Y
30 PRINT USING "###>#"; "CBM", A$

Ausgabe nach RUN:

 $26.12          $23.00        $*****
    CBM              Commodore 16

PRINT USING "PREIS: #,###.## EUR";1234.567

gibt aus:

PREIS: 1,234.57 EUR