注意:此问题包含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。
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
。
"peter"
最近有一个晚上,您可以这样做:
如果从let my_int = from_str::<int>(&*my_string);
中获取字符串,则必须先对其进行修剪。
嗯,不。为什么要有?如果您不再需要该字符串,则将其丢弃。
您可以使用String
特性的&str
方法,该方法已针对&str
实现:
所以基本上,您想将String转换为Integer权利!这是我最常使用的,官方文档中也提到了这。.