首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否将字符串转换为int?

是否将字符串转换为int?
EN

Stack Overflow用户
提问于 2014-11-20 23:27:09
回答 7查看 218.5K关注 0票数 302

注意:此问题包含不推荐使用的1.0版本之前的代码!然而,答案是正确的。要将str到一个int在Rust中,我可以这样做:

代码语言:js
复制
let my_int = from_str::(my_str);

我知道如何将String到一个int就是分到一小块然后用from_str就像这样:

代码语言:js
复制
let my_int = from_str::(my_string.as_slice());

有没有一种方法可以直接将String到一个int

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-12-29 12:09:38

方法可以直接转换为int类型。str::parse::()method.

代码语言:javascript
运行
复制
let my_string = "27".to_string();  // `parse()` works with `&str` and `String`!
let my_int = my_string.parse::().unwrap();

您可以使用turbofish运算符指定要解析到的类型(::<>)如上所示,或者通过显式类型注释:

let my_int: i32 = my_string.parse().unwrap();

正如评论中提到的,parse()返回一个`Result`..。此结果将是一个Err如果无法将字符串解析为指定的类型(例如,字符串"peter"无法解析为i32)。

票数 414
EN

Stack Overflow用户

发布于 2015-05-03 12:01:49

代码语言:javascript
运行
复制
let my_u8: u8 = "42".parse::().unwrap();
let my_u32: u32 = "42".parse::().unwrap();

// or, to be safe, match the `Err`
match "foobar".parse::() {
  Ok(n) => do_something_with(n),
  Err(e) => weep_and_moan(),
}

`str::parse::`返回一个Result`Result::unwrap`“展开结果,生成

Ok或者如果值为Err事件提供了一条紧急消息。Err的价值。“`str::parse`是一通用因此是尖括号中的类型。

票数 89
EN

Stack Overflow用户

发布于 2019-02-17 20:48:10

如果你的字符串是从stdin().read_line,你必须先修剪它。

代码语言:javascript
运行
复制
let my_num: i32 = my_num.trim().parse()
   .expect("please give me correct string number!");
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27043268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档