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

问题描述 投票:2回答:1

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

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

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

let bin_idx:&str = "01110011001";

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

format!("{:i}",bin_idx);

这给出了编译器错误:

error: unknown format trait `i`

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

binary integer rust
1个回答
7
投票

首先,你应该使用the official docs;你指出的那些已经过时了。

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

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

(Qazxswpoi)

© www.soinside.com 2019 - 2024. All rights reserved.