题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
解题思路:
1.考虑字符串转为整数后的正负。
2.对单个字符判断,非数字返回0,为数字时,计算。
实际操作:
public int StrToInt(String str) {
//字符串不存在时,返回0
if (str.length()<1) return 0;
//字符串转换为数组
char[] num=str.toCharArray();
//双精度,后续有平方根计算
double sum=0;
for (int i = num.length-1; i > -1; i--) {
//从个位数开始计算
if (num[i] >='0' && num[i]<='9')
//计算
sum=sum+((num[i]-'0')*Math.pow(10, num.length-i-1));
else{
//非数字,返回0
if (i!=0) return 0;
}
}
//转为int,并判断正负
if (num[0]=='-') return (int) -sum;
else return (int) sum;
}