Avatar ·

Wie konvertiert man ein char in Rust in einen int, sodass '1' zu 1 wird?

Hallo zusammen! Ich habe gerade angefangen, Rust zu lernen, und bin auf eine scheinbar einfache Aufgabe gestoßen. Ich muss ein Zeichen aus einem String lesen und in eine Ganzzahl umwandeln. Zum Beispiel habe ich den String "123" und möchte ihn in einer Schleife durchgehen, jedes Zeichen ('1', '2', '3') nehmen und in die entsprechende Ganzzahl (1, 2, 3) umwandeln.\n\nIn anderen Sprachen wie Python oder JavaScript geht das ganz einfach: `int('1')` oder `parseInt('1')`. Aber in Rust finde ich keine direkte Entsprechung. Ich habe versucht, diesen Code zu schreiben:\n\n```rust\nfn main() {\n let c: char = '1';\n let n: i32 = c as i32; // Versuch 1\n println!("{}", n);\n}\n```\n\nAber das gibt 49 aus, nicht 1. Ich verstehe, dass 49 der ASCII-Code des Zeichens '1' ist. Wie bekomme ich korrekt den numerischen Wert der Ziffer, nicht ihren Code? Ich brauche eine Lösung, die