Rust 中将字符串转换为int

您可以使用 str::parse::()方法直接将其转换为 int。

let my_string = "27".to_string();  // `parse()` works with `&str` and `String`!
let my_int = my_string.parse::<i32>().unwrap();

您可以使用上::<>图所示的turbofish运算符()指定要解析的类型,也可以通过显式类型注释:

let my_int: i32 = my_string.parse().unwrap();

如评论中所述,parse()返回Result。该结果将是一个Err如果字符串不能被解析为指定的类型(例如,字符串"peter"不能被解析为i32)。

let my_u8: u8 = "42".parse::<u8>().unwrap();
let my_u32: u32 = "42".parse::<u32>().unwrap();
// or, to be safe, match the `Err`
match "foobar".parse::<i32>() {
    Ok(n) => do_something_with(n),
    Err(e) => weep_and_moan(),
}

parse返回a core::result::Result<u32, core::num::ParseIntError>并unwrap“将值v从Option移出,如果它是Some(v)[或]如果自身值等于None则发生panic”。 parse是一个泛型函数,因此放在尖括号中。

下一章:Rust 数据类型的转换

Rust 提供了多种类型转换的方式。1. as T用于数类型之间的转换。ixx, uxx, fxx 都可以。 注意:当溢出的时候,转换不会 panic,而是循环映射值。fn as_type() { // i32 ...