Menu
CoddyTech

Strings in Zahlen parsen

Teil des Abschnitts Logik & Kontrollfluss der Rust-Journey von Coddy. Lektion 47 von 66.

Eine der häufigsten praktischen Anwendungen von Result ist das Umwandeln von Zeichenfolgen in Zahlen. In Rust geschieht dies mit der Methode .parse(), die perfekt veranschaulicht, warum es Result gibt – denn das Parsen kann fehlschlagen.

Die Methode .parse() versucht, eine Zeichenkette in eine Zahl umzuwandeln, aber nicht jede Zeichenkette stellt eine gültige Zahl dar. Zum Beispiel kann "42" in die Zahl 42 umgewandelt werden, aber "hello" lässt sich in keine Zahl umwandeln:

let valid_number = "42";
let invalid_number = "hello";

let result1: Result = valid_number.parse();
let result2: Result = invalid_number.parse();

Wenn das Parsen erfolgreich ist, gibt .parse() Ok(number) zurück, das den umgewandelten Wert enthält. Wenn es fehlschlägt, gibt es Err(error) mit Informationen darüber zurück, warum das Parsen fehlgeschlagen ist. Dadurch musst du beide Möglichkeiten ausdrücklich behandeln und verhinderst, dass dein Programm bei ungültiger Eingabe abstürzt.

Du kannst das Parsergebnis mit jeder der Result-Techniken verarbeiten, die du kennengelernt hast – mit match für eine explizite Behandlung, mit unwrap(), wenn du sicher bist, dass es gelingt, oder mit dem Operator ?, um Fehler weiterzugeben.

challenge icon

Aufgabe

Einfach
Schreibe eine Funktion parse_to_integer, die eine Zeichenkette input entgegennimmt und den geparsten ganzzahligen Wert zurückgibt. Wenn die Zeichenkette nicht in eine gültige Ganzzahl geparst werden kann, gib als Standardwert 0 zurück.

Verwende die Methode .parse(), um die Zeichenkette in ein i32 umzuwandeln, und behandle Result entsprechend, um einen sicheren Rückgabewert bereitzustellen.

Parameter:

  • input (String): Die Zeichenkette, die in eine Ganzzahl geparst werden soll

Rückgabewert: Die geparste Ganzzahl, wenn der Vorgang erfolgreich ist, oder 0, wenn das Parsen fehlschlägt (i32)

Probier es selbst

fn parse_to_integer(input: String) -> i32 {
    // Schreibe hier Code
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Kontrollfluss

Übe selbstständig: Online-Rust-Compiler