Wie man numerische Typen in Rust sicher und idiomatisch konvertiert
Hallo! Ich habe kürzlich angefangen, Rust zu lernen, und bin auf ein Problem mit der Konvertierung von Zahlen gestoßen. In anderen Sprachen (C++, Python) habe ich einfach `(int)float_var` oder `int(float_var)` geschrieben, und alles funktionierte. Aber in Rust beschwert sich der Compiler ständig.\n\nHier ist ein Beispielcode, den ich zu schreiben versuche:\n\n```rust\nfn main() {\n let a: u8 = 10;\n let b: u16 = 20;\n let sum = a + b; // Fehler: cannot add `u16` to `u8`\n \n let pi: f64 = 3.14159;\n let int_pi: u32 = pi; // Fehler: expected `u32`, found `f64`\n \n let x: i32 = 100;\n let y: u32 = x; // Fehler: expected `u32`, found `i32`\n}\n```\n\nIch verstehe, dass Rust streng typisiert ist, aber wie führt man solche Konvertierungen korrekt durch? Ich habe von `as` gehört, aber es verhält sich bei Überlauf gefährlich. Gibt es sichere idiomatische Wege? Ich brauche
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs