Konvertierungen

Zeichenketten in Zahlen umwandeln

Nun stehen wir vor folgendem Problem: Da system\input immer Zeichenketten zurückgibt, könnten wir nun keine zahlenbasierten Berechnungen mit den Benutzereingaben machen. Z.B. würde eine Addition beider Ergebnisse nur zwei Zeichenketten verbinden, anstatt die Zahlen der Strings zu addieren.

Hier ist ein Beispiel:

a = system\input
b = system\input
out a + b

Wenn Sie für die erste Variable "100" und für die Zweite "200" eingeben würden, so erfolgt die Ausgabe "100200" anstatt "300", da einfach beide Zeichenketten miteinander verbunden werden.

Wir müssen also irgendwie die Strings in Zahlen umwandeln, um wieder rechnen zu können. Und dies geht folgendermaßen:

a = system\input as real
b = system\input as real
out a + b

Der einzige Unterschied ist nun das as real an jedem Befehlsaufruf. Das as (englische Bedeutung "als") deutet auf eine Umwandlung hin. Darauf folgt der Zieltyp, in den wir den davorstehenden Wert (in diesem Fall system\input) umwandeln wollen. real ist ein Datentyp für Kommazahlen, was für uns natürlich gut ist.

Statt as anzugeben, kann man auch Punkte benutzen, die auch in Windows zur Typisierung von Dateien verwendet werden:

a = system\input.real
b = system\input.real
out a + b

Wir können den Code aber noch kürzer fassen, indem wir die Ergebnisse von system\input direkt in der Ausgabe verwenden:

out system\input.real + system\input.real

Im oberen Code wird nichts anderes gemacht, als die Rückgabewerte beider system\input-Aufrufe in Kommazahlen umzuwandeln und dann zu addieren.

Aufgaben

Nun kommen wir wieder zu neuen Aufgaben:

Top | Home | Index