如何在Rust中将String转换为整数?

时间:2015-01-21 23:52:11

标签: rust

从stdin读取输入会产生String,但如何将其转换为整数?

use std::io;

fn main() {
    println!("Type something");

    let mut input = String::new();

    io::stdin()
        .read_line(&mut input)
        .expect("Failed to read line");

    println!("{}", input);
}

1 个答案:

答案 0 :(得分:12)

使用parse

use std::io;

fn main() {
    println!("Type something");

    let mut line = String::new();

    io::stdin()
        .read_line(&mut line)
        .expect("Failed to read line");

    let input: u32 = line
        .trim()
        .parse()
        .expect("Wanted a number");

    println!("{}", input);
}

请注意,解析字符串中的数字可能会失败,因此会返回Result。对于此示例,我们使用expect对失败案例感到恐慌。

此外,read_line使新换行不按 Enter ,因此在解析之前使用trim忽略该行。