为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Git
慕田峪7331174 2019-11-02 14:39:03
注意:此问题包含1.0版之前的代码!答案是正确的。要转换str成int拉斯特,我可以这样做:let my_int = from_str::<int>(my_str);我知道如何将a转换String为an 的唯一方法int是获取其中的一部分,然后from_str像这样使用它:let my_int = from_str::<int>(my_string.as_slice());有没有一种方法可以直接将a转换String为int?
查看完整描述

3 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

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则发生恐慌”。


parse是一个泛型函数,因此放在尖括号中。


查看完整回答
反对 回复 2019-11-02
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

对于最近的每晚,您可以执行以下操作:


let my_int = from_str::<int>(&*my_string);

这里发生的事情是String现在可以将其取消引用到中str。但是,该函数需要一个&str,因此我们必须再次借用。作为参考,我相信这种特殊的模式(&*)被称为“交叉借贷”。


查看完整回答
反对 回复 2019-11-02
  • 3 回答
  • 0 关注
  • 3930 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信