Konvertieren Sie String in Int in Rust
Nilesh Katuwal
21 Juni 2023
Dieser Artikel wird uns beibringen, wie man den String in rust in int umwandelt.
Verwenden Sie die Methode str::parse::()
, um String in Rust in Int umzuwandeln
Wir können den String mit der Methode str::parse::()
direkt in einen Int umwandeln.
let string_value = "27".to_string();
let int_value = string_value.parse::<i32>().unwrap();
Beispielcode:
fn main() {
let mut string_one: &str = "789";
let mut i = match string_one.parse::<i32>() {
Ok(i) => i,
Err(_e) => -1,
};
println!("{:?}", i);
}
Ausgang:
789
Jetzt extrahieren wir den ganzzahligen Wert i
aus dem a
, das eine Zeichenfolgendarstellung ist. Schauen wir uns den folgenden Code an.
Beispielcode:
fn main() {
let mut a = "789";
let mut i: i32 = a.parse().unwrap_or(0);
println!("{:?}", i);
a = "12u3";
i = a.parse().unwrap_or(0);
println!("{:?}", i);
}
Ausgang:
789
0
Wenn wir zu einem bestimmten Typ wie usize
parsen wollen, können wir den speziellen Rust-Operator turbofish
in einer if-let
-Anweisung zum Parsen zu einer usize
verwenden.
Beispielcode:
fn main() {
let data = "60606";
if let Ok(result) = data.parse::<usize>() {
println!("USIZE RESULT: {}", result);
}
}
Ausgang:
USIZE RESULT: 60606
Wenn wir einige Ziffern in einem anderen String haben, können wir mit der Funktion get()
ein Stück aus diesem String extrahieren. Dann kann die Nummer geparst werden.
Beispielcode:
fn main() {
let value = "a 6789 b";
let inner_part = value.get(2..value.len() - 2).unwrap();
println!("INNER PART: {}", inner_part);
// Tp parse inner part.
let result: u32 = inner_part.parse().unwrap();
println!("PARSED: {0}", result);
}
Ausgang:
INNER PART: 6789
PARSED: 6789