今天遇到个有意思的问题,怎么通过自己的方法实现string转int?刚被问道还有点懵,不过想到int的时候就自然而然的想到了ascll码的48到57,然后思路就出来了,遍历数组,然后转化即可。
具体代码:
public int stringToInt(String str) {
char[] strs = str.toCharArray();
int result = 0;
for (int i = 0; i < strs.length; i++) {
char temp = strs[i];
if (temp > 47 && temp < 58) {
result += (temp - 48) * Math.pow(10, strs.length - 1 - i);
} else {
throw new NumberFormatException("传入的非int格式的字符串");
}
}
return result;
}