如何在 Rust 中将 char 转换为 int,使 '1' 变成 1?
大家好!我刚开始学习 Rust,遇到了一个看似简单的任务。我需要从字符串中读取一个字符并将其转换为整数。例如,我有一个字符串 "123",我想遍历它,取出每个字符 ('1', '2', '3') 并将其转换为相应的整数 (1, 2, 3)。
在其他语言中,比如 Python 或 JavaScript,这非常简单:`int('1')` 或 `parseInt('1')`。但在 Rust 中,我找不到直接的对应方法。我尝试写了这样的代码:
```rust
fn main() {
let c: char = '1';
let n: i32 = c as i32; // 尝试 1
println!("{}", n);
}
```
但输出是 49,而不是 1。我明白 49 是字符 '1' 的 ASCII 码。如何正确获取数字的数值而不是其编码?我需要一个适用于 '0' 到 '9' 任意数字的解决方案。希望它是 Rust 惯用的,并且不包含 unsafe 代码。提前感谢帮助!
<<>>