Typumwandlung
Teil des Abschnitts Grundlagen der Lua-Journey von Coddy. Lektion 32 von 90.
Um die Eingabe in einen anderen Typ umzuwandeln, verwenden wir eine Konvertierungsfunktion.
Um eine Zeichenkette in eine Zahl umzuwandeln, schreiben wir:
var = io.read()
var = tonumber(var)Oder in einer Zeile,
var = tonumber(io.read())Wenn die Eingabe eine Zahl ist, z. B. 5, 4, 54, enthält var eine Zahl. Wenn die Eingabe eine ungültige Zahl enthält: 5ab, bb, akt usw., gibt tonumber() nil zurück.
Hier sind die beiden Konvertierungsfunktionen:
| Funktion | Erklärung |
| tonumber() | In eine Zahl umwandeln |
| tostring() | In eine Zeichenkette umwandeln |
Es ist wichtig, den richtigen Typ zu verwenden, da er die Ausgabe beeinflussen kann.
Das Verketten zweier Zeichenketten ergibt:
"5" .. "5" = "55"
Das Addieren zweier Zahlen ergibt:
5 + 5 = 10
Lua wandelt Zahlenzeichenfolgen bei arithmetischen Operationen ebenfalls automatisch um:
"5" + 5ergibt10. Die Umwandlung mittonumber()ist dennoch die klarere Wahl und ermöglicht es dir, die Eingabe zu überprüfen, denn die Funktion gibtnilzurück, wenn der Text keine Zahl ist.
Aufgabe
AnfängerIn dieser Herausforderung arbeitest du mit mehreren Eingaben und führst Berechnungen durch.
So empfängst du mehrere Eingaben:
var1 = io.read() -- First input
var2 = io.read() -- Second inputDeine Aufgabe:
- Lies die erste Zahl aus der Eingabe und speichere sie in einer Variablen
- Lies die zweite Zahl aus der Eingabe und speichere sie in einer anderen Variablen
- Wandle beide Variablen in den Typ number um (für numerische Berechnungen)
- Berechne das Produkt dieser beiden Zahlen
- Gib das Ergebnis aus
Beispiel:
Wenn die Eingaben 2 und 4.5 lauten, sollte dein Programm 9 ausgeben
Denke daran: Jeder Testfall enthält genau zwei Eingaben, eine nach der anderen.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren 2: Vergleichs- und logische Operatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorKurzschlussauswertungTruthy- und Falsy-WerteRückblick – Einfache Logik7Grundlegende bedingte Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungWiederholung – Schatztruhe2Variablen und Datentypen
Was ist eine Variable?ZahlenZeichenkettenBoolesche WerteDer Wert „nil“Die Funktion type()NamenskonventionenRückblick – Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring()-FunktionEingabeTypumwandlungRückblick – StatusberichtRückblick – Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Rückblick – Benutzernamen formatieren3Operatoren 1: Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorVerkettung von ZeichenkettenRangfolge der OperatorenWiederholung – Einfache Berechnungen6Projekt: Charakterwerte anzeigen
WillkommensnachrichtCharakterwerte deklarieren9Grundlagen von Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie Anweisung „return“Zusammenfassung – Flächenrechner12Grundlagen der Schleifen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie Anweisung „break“Rückblick – Countdown15Abschließende Herausforderungen
Wiederholung – SpielzugWiederholung – Einfache DatenbankWiederholung – Summe gerader ZahlenÜbe selbstständig: Online-Lua-Compiler