将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0
public class Solution {
public int StrToInt(String str) {
int length=str.length();
if(length<1) return 0;
char[] c=str.toCharArray();
int flag=0;
int shu=0;
if(length==1){
if(c[0]>='0'&&c[0]<='9') return c[0]-'0';
else return 0;
}else{
if(c[0]=='+') flag=1;
else if(c[0]=='-') flag=2;
else if(c[0]>='0'&&c[0]<='9') shu=(int) (((int)c[0]-'0')*Math.pow(10, length-1));
else return 0;
}
for(int i=1;i<length;i++){
if(c[i]<'0'||c[i]>'9') return 0;
shu=shu+(int) (((int)c[i]-'0')*Math.pow(10, length-1-i));
}
if(flag==2) shu=-shu;
return shu;
}
}