您的位置:首页 > 其它

字符串转整数

2018-08-27 18:30 417 查看
1.注重的点在数字是否越界是否为空 数字必须是连续的,例如“+0 213”就是不合法的
public static int myAtoi(String str) {
int num=0;
int flag=1;
int i=0;
int pre=0;
str=str.trim();//去除空字符串
if(str.length()==0 ||str.equals("-")||str.equals("+")){
return 0;
}

System.out.println("str===>>>"+str);
if(str.charAt(0)=='-'||str.charAt(0)=='+'){
flag=str.charAt(0)=='-'?-1:1;
i++;
}
while(i<str.length()&&str.charAt(i)>='0'&&str.charAt(i)<='9'){

pre=num;
num=num*10+str.charAt(i++)-'0';
System.out.println("num:"+num+"===flag===>>"+flag);
if(num/10!=pre){//如果乘以10之后的数与除10值后的数不相等 则证明该数越界
return (flag == 1) ? Integer.MAX_VALUE : Integer.MIN_VALUE;
}
}

return num * flag;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符串转整数