gpt4 book ai didi

java - java中的atoi使用charAt

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:38:50 26 4
gpt4 key购买 nike

我知道执行此操作的一种解决方案如下:

 String tmp = "12345";
int result = 0;
for (int i =0; i < tmp.length(); i++){
char digit = (char)(tmp.charAt(i) - '0');
result += (digit * Math.pow(10, (tmp.length() - i - 1)));

}

System.out.println(result);

我不明白的是为什么:

char digit = (char)(tmp.charAt(i) - '0');

这如何转换成数字?

最佳答案

char digit = (char)(tmp.charAt(i) - '0');

ascii table ,从 '0''9' 的字符是连续的。因此,如果您知道 tmp.charAt(i) 将返回 09 之间的字符,则减去 0 将返回从零开始的偏移量,即该字符代表的数字。

关于java - java中的atoi使用charAt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8039072/

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