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;
}
原文:http://blog.51cto.com/13919712/2165069