将带二进制的字符串转换为int

les*_*how 5 binary integer rust

语言中有什么东西可以将二进制字符串转换为int吗?

我的二进制文件现在作为字符串存在,我希望格式化!它与我将int格式化为二进制文件的方式相同:format!

我有一个更大的二进制字符串,我正在循环中取出切片,所以让我们假设我的一个切片是:

let bin_idx: &str = "01110011001";
Run Code Online (Sandbox Code Playgroud)

我想将该二进制格式化为整数:

format!("{:i}", bin_idx);
Run Code Online (Sandbox Code Playgroud)

这给出了编译器错误:

error: unknown format trait `i`
 --> src/main.rs:3:21
  |
3 |     format!("{:i}", bin_idx);
  |                     ^^^^^^^
Run Code Online (Sandbox Code Playgroud)

我也试过'd'和'你'(http://www.contrib.andrew.cmu.edu/~acrichto/doc/std/fmt/index.html)并得到了同样的错误.

oli*_*obk 13

首先,你应该使用官方文档 ; 你指出的那些已经过时了.

你有一个字符串,你不能将字符串格式化为整数.我想你想要的是一个解析器.这是一个使用的版本from_str_radix:

fn main() {
    let bin_idx = "01110011001";
    let intval = isize::from_str_radix(bin_idx, 2).unwrap();
    println!("{}", intval);
}
Run Code Online (Sandbox Code Playgroud)

(游乐场)