我知道这样做的一个解决方案如下:
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);
Run Code Online (Sandbox Code Playgroud)
我不明白的原因是:
char digit = (char)(tmp.charAt(i) - '0');
Run Code Online (Sandbox Code Playgroud)
怎么能转换成数字?
Pet*_*rey 10
使用Math.pow是非常昂贵的,你最好使用Integer.parseInt.
您不必使用Math.pow.如果您的数字总是积极的,那么您可以做到
int result = 0;
for (int i = 0; i < tmp.length(); i++)
result = result * 10 + tmp.charAt(i) - '0';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25354 次 |
| 最近记录: |