字符串转换为整数时如何判断接下来是否溢出

    public int StrToInt(String str) {
       if(str==null||str.length()==0) return 0;
       char[] arr=str.toCharArray();
       int flag=1,index=0,sum=0;
       if(arr[0]=='-'){
           flag=-1;index++;
       }else if(arr[0]=='+'){
           index++;
       }
       for(;index<arr.length;index++){
           int x=arr[index]-'0';
           if(x<0||x>9) return 0;
           
           //重点在这
           int overhead=sum*flag-Integer.MAX_VALUE/10+((flag+1)/2+x)>8?1:0;
           
           if(overhead>0) return 0;
           sum=sum*10+x*flag;
        }
       return sum;
    }
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读