首页 > 其他 > 详细

字符串转整数

时间:2018-08-27 21:13:29      阅读:163      评论:0      收藏:0      [点我收藏+]
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;
}

字符串转整数

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!