注意:此问题包含已弃用的 1.0 之前的代码!不过,答案是正确的。
要在 Rust 中将 str
转换为 int
,我可以这样做:
let my_int = from_str::<int>(my_str);
我知道如何将 String
转换为 int
的唯一方法是获取它的一部分,然后在其上使用 from_str
像这样:
let my_int = from_str::<int>(my_string.as_slice());
有没有办法将String
直接转换为int
?
最佳答案
您可以使用 str::parse::<T>()
method 直接转换为 int ,这returns a Result包含整数。
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
),或者 Ok
具有其中的值(value)。
关于rust - 将字符串转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56956910/