1. 程式人生 > 實用技巧 >字串轉換為int

字串轉換為int

public static int strToInt(String str) {
        char[] s = str.trim().toCharArray();
        int len = s.length;
        // 去除空格後長度為0則返回0
        if (len == 0)
            return 0;
        int sign = 1;
        int i = 0;
        int currNum = 0;
        // 確定符號
        if (s[i] == '-') {
            sign = -1;
            i
++; } else if (s[i] == '+') i++; // 對連續數字進行遍歷 while (i < len && isDigit(s[i])) { // 當前位置對應的數字 int k = sign * (s[i] - '0'); // 判斷ans如果加上當前位的數字是否超出範圍 // 此處不能計算出新的ans再比較,因為計算出的新的ans可能已經超出範圍了 if (sign > 0 && currNum > (Integer.MAX_VALUE - k) / 10)
return Integer.MAX_VALUE; if (sign < 0 && currNum < (Integer.MIN_VALUE - k) / 10) return Integer.MIN_VALUE; // 加入當前位的數字 currNum = currNum * 10 + k; i++; } return currNum; } public static boolean isDigit(char
c) { return c - '0' >= 0 && c - '9' <= 0; }