天天看點

C# (int) 、Int.Parse() 、.Convert.toInt32() 三種強制轉換方法解析

(int):表示使用顯式強制轉換,是一種類型轉換,C#預設整型是int32,是以使用此方法轉成int 32位,不遵循四舍五入,隻截取整數部分;

(int)5.21       //輸出5

Int.Parse():隻支援将string類型轉成int,Parse就是把String類型轉換成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string類型。

String st="5.21";

double n=5.21;

Int.Parse(st);      //輸出5

Int.Parse(n);     //報錯

.Convert.ToInt32(double value) ,不完全遵循四舍五入,如果 value 為兩個整數中間的數字,則傳回二者中的偶數,對比下面的例子:

Console.WriteLine(Convert.ToInt32(4.3));  //四舍五入,輸出4
Console.WriteLine(Convert.ToInt32(4.5));  //第一位小數為5時,4.5在4和5之間,輸出偶數4
Console.WriteLine(Convert.ToInt32(4.53)); //四舍五入,輸出5

Console.WriteLine(Convert.ToInt32(5.3));  //四舍五入,輸出5
Console.WriteLine(Convert.ToInt32(5.5));  //第一位小數為5時,5.5在5和6之間,輸出偶數6
Console.WriteLine(Convert.ToInt32(5.53)); //四舍五入,輸出6
           
注意:Convert.ToInt32()和int.Parse()對于空值(null)的處理不同,Convert.ToInt32(null)會傳回0而不會産生任何異常,但int.Parse(null)則會産生異常。