正如问题所述,我该如何实现这一目标?
如果我有这样的代码:
let a = "29";
for c in a.chars() {
println!("{}", c as u32);
}
我获得的是2和9的unicode代码点:
我想要的是将这些字符解析为实际数字。
答案 0 :(得分:10)
char::to_digit(radix)
这样做。 radix
表示" base",即十进制系统为10,十六进制为16,等等:
let a = "29";
for c in a.chars() {
println!("{:?}", c.to_digit(10));
}
它返回Option
,因此您需要unwrap()
或更好:expect("that's no number!")
。您可以在the appropriate chapter of the Rust book中阅读有关正确错误处理的更多信息。
答案 1 :(得分:4)
好吧,你总是可以使用以下hacky解决方案:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
ASCII个数字的编码值为48到57,所以当你有一个包含字符2和9的字符串并尝试将它们解释为整数时,你会得到50和57.要得到它们的预期值,你只需要需要从中减去48个。