gpt4 book ai didi

unicode - char::is_digit 和 char::is_numeric 有什么区别?

转载 作者:行者123 更新时间:2023-11-29 08:23:39 27 4
gpt4 key购买 nike

char::is_digitchar::is_numeric 有什么区别?

我注意到一般数字字符在转换为数字时会给出无效数字错误;是否可以获取数字字符的数值?这是正确的做法吗?

最佳答案

char::is_numeric 检查字符是否为数字 according to Unicode (特别是如果它属于 Unicode 通用类别 Nd、Nl 和 No)而 char::is_digit 可以识别常规数字和基数不同于 10(最多 36)的数字,例如十六进制 a-f(基数 16)。

示例差异:

assert!(char::is_numeric('a')); // fails
assert!(char::is_digit('a', 10)); // fails
assert!(char::is_digit('a', 16)); // works

获取字符的数值是可以的——你只需要提供正确的基数:

println!("{}", 'a'.to_digit(16).unwrap()); // 10
println!("{}", 'z'.to_digit(36).unwrap()); // 35

关于unicode - char::is_digit 和 char::is_numeric 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48067556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com