码迷,mamicode.com
首页 > 其他好文 > 详细

字符串转整数

时间:2018-08-27 21:41:13      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:print   ||   空字符串   相等   amp   system   ===   i++   val   

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;
}

字符串转整数

标签:print   ||   空字符串   相等   amp   system   ===   i++   val   

原文地址:http://blog.51cto.com/13919712/2165069

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!