Sie sind unter diesen Namen beschrieben.

Hier soll nur auf die Umwandlung zwischen Gleitkomma- und Integerzahlen eingegangen werden:

3.1 Integer in Gleitkomma

Die Umwandlung von Integer in Gleitkomma ist immer möglich und hat auf den Wert keine Auswirkungen.

Beispiel: A = A%

3.2 Gleitkomma in Integer

Die Umwandlung von Gleitkomma in Integer ist nur möglich, wenn die Gleitkommazahl im Integer-Bereich liegt:

Beispiel: 10 A = 20156
20 A%= A

Ist dies nicht der Fall, wird ILLEGAL QUANTITY ERROR gemeldet.

Beispiel: 10 A = 50000
20 A%= A
RUN ergibt ILLEGAL QUANTITY ERROR IN 20

Wenn der (positive) Gleitkommawert Nachkommastellen enthält, werden diese abgeschnitten, es wird also nicht gerundet:

Beispiel: 10 A = 123.256
20 A%= A
30 PRINT A%
RUN ergibt 123

Exakter ausgedrückt, wird die nächstkleinere ganze Zahl gebildet. Dies ist bei negativen gebrochenen Zahlen zu beachten:

Beispiel: 10 A = -123.256
20 A%= A
30 PRINT A%
RUN ergibt -124

3.3 Rundungsfehler und Integerzahlen

(s. dazu auch den Abschnitt über numerische Ausdrücke)

Jede arithmetische und mathematische Operation wird auf Gleitkommabasis ausgeführt, es existiert also kein gesondertes Integer-Arithmetik-Paket!

Viele BASIC-Anweisungen haben Parameter, die keine gebrochenen Zahlen sein dürfen. Diese ganzzahligen Parameter können Integeroder Byteparameter sein. Da aber in BASIC jeder Parameter als beliebig komplexer Ausdruck auftreten kann, und Zahlenausdrücke auf Gleitkommabasis ausgewertet werden, wird das Ergebnis solcher Ausdrücke automatisch in Ganzzahl-Format umgewandelt. Da nun grundsätzlich nicht auszuschließen ist, dass in umfangreichen Gleitkommaoperationen sich die zwangsläufigen Rundungsfehler aufgrund der endlichen Mantisse bis in die neunte Stelle schleppen, können intern Ergebnisse wie

123.999999 anstatt 124

auftreten. Beim Abschneiden auf Integerformat wird aus einem Fehler von 1E-6, der zu vernachlässigen wäre, ein Fehler von 1, der einen Algorithmus 'zu Fall bringen kann'.

Am Beispiel des Indexes von Feldvariablen können Sie dies leicht einsehen.

Sobald also ein Algorithmus bei Zwischenergebnissen die ganze Genauigkeit der Mantisse von 9 Stellen benötigt, muß an geeigneten Stellen durch Rundung (s. INT) dafür gesorgt werden, dass sich Fehler nicht fortpflanzen können!

In den meisten Fällen wird dies allerdings nicht nötig sein, weil Algorithmen, die ein maximal fünfstelliges Ergebnis liefern, selten mit neunstelligen Zwischenergebnissen arbeiten.

CCOM - CBM 4032 Benutzerhandbuch

3. Umwandlungen zwischen Datenarten

Durch verschiedene Operationen sind Umwandlungen von einem Datentyp in einen anderen möglich.

Die Umwandlungsbefehle zwischen Strings und Zahlen sind

ASC / CHR$
VAL /STR$