01:字符串轉整數

字符串轉整數

注意點:

  • 需將字符串的前端空格去除
  • 首字符可以爲正號,負號或者直接爲數字字符
  • 後續字符需要爲數字字符
  • 數值越界問題
    public static int StringToInteger(String str){
        //1.去除前後空格
        str = str.trim();
        if (str==null||str.length()==0)return -1;

        int index = 0;
        int sign = 1;
        char c = str.charAt(index);
        //2.首字符爲正負號
        if(c=='+'){
            sign = 1;
            index++;
        }else if(c=='-'){
            sign = -1;
            index++;
        }

        long sum = 0;
        for(int i = index;i<str.length();i++){
            //後續字符需要爲數字字符
            if(!Character.isDefined(str.charAt(i))){
                return -1;
            }
            sum = sum*10+str.charAt(i)-'0';
            //4.越界問題
            if(sign==1&&sum>Integer.MAX_VALUE){
                return Integer.MAX_VALUE;
            }
            if(sign==-1&&(-1)*sum<Integer.MIN_VALUE){
                return Integer.MIN_VALUE;
            }
        }
        return (int) sum*sign;

    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章