關於int.Parse()的異常


一、int.Parse(string 變量名)

該方式是將數字內容的字符串轉換為int類型

1.如果字符串的內容為Null ,則拋出ArgumentNullException異常;

2.如果字符串內容不是數字,則拋出FormatException異常;

3.使用該方法只能處理字符串的內容,而且轉換后的字符串內容要在int類型的可表示范圍之內,若超出,則拋出OverflowException異常。

二、在網上搜索相關內容,Convert.ToInt32()、int.Parse()、int.TryParse()、(int)這些函數都可以將其他類型轉化為int型

1.Convert.ToInt32()與int.Parse()的區別:

(1)這兩個方法的最大不同是它們對NULL值的處理方法:

    Convert.ToInt32(null)會返回0而不會產生任何異常,但int.Parse(null)則會產生異常

(2)當參數是浮點數時:

   a. Convert.ToInt32(double value)
       如果 value 為兩個整數中間的數字,則返回二者中的偶數;即 3.5轉換為4,4.5 轉換為 4,而 5.5 轉換為 6。  不過4.6可以轉換為5,4.4轉換為4
   b. int.Parse("4.5") 
       直接報錯:"輸入字符串的格式不正確"

(3)轉換對象不同:

   a.int.Parse是轉換String為int
   b.Convert.ToInt32是轉換繼承自Object的對象為int的

      當你得到一個object對象,你想把它轉換為int,用int.Parse就不可以,要用Convert.ToInt32.

2.int.TryParse()與int.Parse():

   int.TryParse()與 int.Parse() 又較為類似,但它不會產生異常,轉換成功返回 true,轉換失敗返回 false。  

   最后一個參數為輸出值,如果轉換失敗,輸出值為 0,如果轉換成功,輸出值為轉換后的int值

3.關於(int):

   (int)是一種類型轉換;當我們把int類型轉換到long,float,double,decimal類型,可以使用隱式轉換,但是當我們從long類型到int類型就需要使用顯式轉換,否則會產生      編譯錯誤。

三、這是網上找到的代碼,可作為以后的聯系素材:

class Program
{
    static void Main(string[] args)
    {
        string str = "1,2,3,4,5,";
        Console.WriteLine(str.Substring(0, str.Length - 1));
 
        int nums = 0;
        string num = null;
        Int32.TryParse(num, out nums);
        Console.WriteLine(nums);
 
        /*
        int nums = 0;
        string num = "12345";
        Int32.TryParse(num, out nums);
        Console.WriteLine(nums);
         */
 
        nums = Convert.ToInt32(num);
 
        nums = int.Parse(num);
    }

好啦~下周見~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM