字串轉換數值型別異常分析

2022-08-23 13:51:12 字數 1378 閱讀 4175

在這篇文章中,我們來分析一下c#的函式int.parse(),字串轉換數值型別時候發生的異常。

int.parse(string str): 這種方法是將數字內容的字串轉換為int型別。

如果字串的內容為null ,則丟擲argumentnullexception異常;

如果字串內容不是數字,則丟擲formatexception異常。

使用該方法只能處理字串的內容,而且轉換後的字串內容要在int型別的可表示範圍之內。

好,現在來一段測試程式:

這是測試介面

輸入int32表示範圍內的數字:

輸入非數字字串:

輸出了發生的異常型別

輸入int32表示範圍以外的數字:

(這下還知道了int32表示的最大值是2147483647)

如果不輸入會怎樣:

不輸入時候就是空字串,發生了和輸入非數字字串一樣的異常。

下面是測試程式的源**:

try

catch (exception exception)

接下來再討論下convert.toint32、int.parse(int32.parse)、int.tryparse的區別。

convert.toint32 與 int.parse 較為類似,實際上 convert.toint32 內部呼叫了 int.parse:

convert.toint32 引數為 null 時,返回 0;

int.parse 引數為 null 時,丟擲異常。

convert.toint32 引數為 "" 時,丟擲異常;

int.parse 引數為 "" 時,丟擲異常。

convert.toint32 可以轉換的型別較多;

int.parse 只能轉換數字型別的字串。

int.tryparse 與 int.parse 又較為類似,但它不會產生異常,轉換成功返回 true,轉換失敗返回 false。最後乙個引數為輸出值,如果轉換失敗,輸出值為 0。

數值與字元 串 型別轉換

char型別本身就是整數標識的,範圍為0 255 任意乙個0 255內的int也可以直接轉化為char,對應關係即ascii碼 code 1 得到的b,c均是a對應的char 經常需要用到的是 int 5 char 5 可以用code 2 和code 3 的簡單方法 幾個關鍵的ascii碼 0 32...

C 字串與數值型別的轉換函式

atoi 將字串轉換成整型數 相關函式 atof,atol,atrtod,strtol,strtoul 表頭檔案 include 定義函式 int atoi const char nptr 函式說明 atoi 會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非...

C 資料型別轉換 數值字串和數值之間的轉換

首先,我們得搞明白,什麼是數值字串。我們知道,在 c 中,字串是用一對雙引號包含的若干字元來表示的,如 123 而 123 又相對特殊,因為組成該字串的字元都是數字,這樣的字串,就是數值字串。在我們的眼中,123 即是一串字元,也是乙個數,但計算機卻只認為它是乙個字串,不是數。因此,我們在某些時候,...