【发布时间】:2021-11-21 18:57:44
【问题描述】:
我正在使用以下代码将八进制的字符串表示形式转换为u32:
pub fn umask() -> String {
match env::var("UMASK") {
Ok(res) => res.into(),
_ => "777".into()
}
}
fn main() {
println!("{:#?}", u32::from_str_radix(format!("0o{}", umask()).as_str(), 8));
}
我得到的只是:
Err(
ParseIntError {
kind: InvalidDigit,
},
)
根据this 看来,它的格式正确,因为它是八进制数,所以它以 8 为底,因此您需要 8 的基数。
我做错了什么?
【问题讨论】:
标签: rust integer data-conversion octal