将字符串转换为Rust中的int吗?

问题描述 投票:146回答:7

注意:此问题包含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

rust
7个回答
206
投票

您可以使用str::parse::<T>() method直接转换为int。

str::parse::<T>()

您可以指定要用turbofish运算符(let my_string = "27".to_string(); // `parse()` works with `&str` and `String`! let my_int = my_string.parse::<i32>().unwrap(); )解析的类型,如上所示,也可以通过显式类型注释:

::<>

如注释中所述,let my_int: i32 = my_string.parse().unwrap(); 返回parse()。如果无法将字符串解析为指定的类型(例如,字符串Result不能解析为Result),则结果为Err


43
投票
"peter"

6
投票

最近有一个晚上,您可以这样做:


6
投票

如果从let my_int = from_str::<int>(&*my_string); 中获取字符串,则必须先对其进行修剪。


0
投票

嗯,不。为什么要有?如果您不再需要该字符串,则将其丢弃。


0
投票

您可以使用String特性的&str方法,该方法已针对&str实现:


0
投票

所以基本上,您想将String转换为Integer权利!这是我最常使用的,官方文档中也提到了这。.

© www.soinside.com 2019 - 2024. All rights reserved.