Konvertieren Sie String in Int in Rust

Nilesh Katuwal 21 Juni 2023
Konvertieren Sie String in Int in Rust

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