將整數字串轉成整數值

2021-07-24 09:00:56 字數 783 閱讀 9164

給定乙個字串s,如果字串符合日常書寫的整數形式,並且屬於32位整數的範圍,返回str所代表的整數值,否則返回0.

比如:s="123",則返回123.

s="0123",則返回0.

s="-123",則返回-123.

s="-0",返回0.

s="-",返回0.

s="123a4",返回0.

首先,需要判斷字串中是否有非法字元,具體**如下:

public static boolean isvalid(string s)

//第乙個是負號,但是整個字串的長度只有1,或者負號後面跟個0的情況

if(s.charat(0)=='-'&&(s.length()==1||s.charat(1)=='0'))

//以0開頭,而且整個字串的長度大約0

if(s.charat(0)=='0'&&s.length()>1)

//從第二個開始依次遍歷字串,一旦出現不是數字的情況立即返回

for(int i=1;iif(s.charat(i)<'0'||s.charat(i)>'9')

}return true;}

接下來進行字元轉數字操作,具體**如下:

public static int fun(string s)

num=num*(-1);//最後計算完成後變成負數

}else

}return num/10;//最後一次要除以10}

最後測試輸出:

public static void main(string args)

將整數字串轉成整數值

題目 給定乙個字串str,如果str符合日常書寫的整數形式,並且屬於32位整數的範圍,返回所代表的整數值,否則返回0。eg str 123 返回123.str 023 因為 023 不符合日常的書寫習慣,所以返回0.str a23 返回0 str 0 返回0 str 2147483647 返回214...

將整數字串轉成整數值

題目 給定乙個字串str,如果str符合日常書寫的整數形式,並且屬於32位整數的範圍,返回所代表的整數值,否則返回0。eg str 123 返回123.str 023 因為 023 不符合日常的書寫習慣,所以返回0.str a23 返回0 str 0 返回0 str 2147483647 返回214...

將整數字串轉成整數值

題目 給定乙個字串str,如果str符合日常書寫的整數形式,並且屬於32位整數的範圍,返回str代表的整數值,否則返回0。舉例 str 123 返回123。str 023 不符合日常書寫習慣,返回0。str a13 返回0。str 2147473648 因為溢位,返回0.public class s...