STR$

Die BASIC-Funktion STR$() dient zum Umwandeln einer Zahl in eine Zeichenkette. Diese ist im wesentlichen so aufgebaut, als wäre sie von PRINT ausgegeben worden, mit dem Unterschied, dass sich im PRINT-Fall am Ende ein Leerzeichen befindet.

Ist der als Parameter angegeben Ausdruck ein positiver Wert oder 0, so ist das 1. Zeichen der Zeichenkette ein Leerzeichen (als Platzhalter für das üblicherweise nicht angezeigte “+”-Vorzeichen), andernfalls ein Minuszeichen (−).

Ergibt die Auswertung des Parameters keine Zahl, so erscheint die BASIC-Fehlermeldung ?TYPE MISMATCH ERROR. Es werden alle Zahlen akzeptiert, sofern der Parameter eine gültige Fließkommazahl ergibt. Fehlt das numerische Argument, so erscheint ein ?SYNTAX ERROR.

Beispiele

Einfache Beispiele

Ohne STR$() wäre die Bildschirmausgabe identisch, der Mehrwert entsteht erst, wenn der Rückgabewert der Funktion weiter verarbeitet wird bzw. die Ausgaben in einer Zeile kombiniert werden.

PRINT STR$(1E11)  (die Zeichenkette " 1E+11" wird ausgegeben)
PRINT STR$(0)     (die Zeichenkette " 0" wird ausgegeben)
PRINT STR$(-1000) (die Zeichenkette "-1000" wird ausgegeben)
PRINT STR$(1/2)   (die Zeichenkette " .5" wird ausgeben

Unterschied PRINT-Format und STR$()-Format

10 A=SQR(2)
20 PRINT "(";A;")"
30 PRINT "(";STR$(A);")"

gibt folgendes aus:

( 1.41421356 )
( 1.41421356)

Ausgabeformatierung bei Tabellen

Zahlen z.B. rechtsbündig darstellen …

100 PRINT "QUADRAT-TABELLE"
110 FOR N=1 TO 10
115 REM PRINT N, N*N
120 PRINT RIGHT$(STR$(N),2); TAB(5); RIGHT$("  "+STR$(N*N),4) 
130 NEXT N
 1      1
 2      4
 3      9
 4     16
 5     25
 6     36
 7     49
 8     64
 9     81
10    100

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Datenschutz
Ich, Andreas Hoever (Wohnort: Deutschland), verarbeite zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in meiner Datenschutzerklärung.
Datenschutz
Ich, Andreas Hoever (Wohnort: Deutschland), verarbeite zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in meiner Datenschutzerklärung.