1. 程式人生 > >劍指offer-將字串轉化為整數

劍指offer-將字串轉化為整數

49.將字串轉化為整數

題目描述

將一個字串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是一個合法的數值則返回0。

輸入描述:輸入一個字串,包括數字字母符號,可以為空

解題思路:先將字串轉化為陣列,要將字串中的數字字元轉化為數值型,可以先將字元轉化為字串再轉化為數值型,或者將這個字元-‘0’,然後遍歷整個陣列,把數計算出來。

public int StrToInt(String str) {
        if(str==null || str.length()==0)
            return 0;
        char[] ch=str.toCharArray();
        int symbol=1;
        if(ch[0]=='-')
            symbol=-1;
        int res=0;
        for(int i=(ch[0]=='+' || ch[0]=='-')?1:0;i<ch.length;i++)
        {
            if(ch[i]>'0' && ch[i]<'9')
                res=res*10+ch[i]-'0';
            else 
                return 0;
        }
        return res*symbol;
    }