rust - 将字符串转换为整数?

标签 rust

注意:此问题包含已弃用的 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/

相关文章:

rust - 由于 Rust 中只能有一个所有者,这是否意味着浅拷贝是不可能的?

rust - 为什么我正在处理它却得到 "unused Result which must be used ... Result may be an Err variant, which should be handled"?

types - 有没有办法创建只接受一系列值的数据类型?

closures - 我可以创建一个 "unsafe closure"吗?

enums - 为什么这个 Rust 枚举没有变小?

rust - 是否可以检查 rust 的闭合度是否相等?

rust - 如何在 Rust 的变量中存储模式?

rust - 在 Rust 中,我如何定义一个全局变量/常量,其值是函数的结果?

rust - 检查一个数字是否可以精确表示为 `f32`

macros - 将 Rust 宏类型转换为表达式