C#Convert用法 parse用法

C# 中 Convert 與 Parse 區別

(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)則會產生異常,int.TryParse()是對int.Parse()做了一個異常處理,如果出現異常則返回false,並且將輸出參數返回0;。

在進行數據轉換前選擇轉換方法要謹慎,如果是數字類型可以考慮直接用(int)強制轉換,如果是整型字符串類型的,考慮用int.Parse()進行轉換,如果不是這兩種類型,再考慮用Convert.ToInt32()進行轉換。


Parse
用來轉換String類型的數據
TryParse的效率比Parse的效率高,容錯也好。


Convert 將一個基本數據類型轉化爲另一基本數據類型
支持的轉化類型:受支持的基類型是Boolean、Char、SByte、Byte、Int16、Int32、Int64、UInt16、UInt32、UInt64、Single、Double、Decimal、DateTime 和 String

命令 結果
Convert.ToBoolean(var) var轉換爲bool
Convert.ToByte(var) var轉換爲byte
Convert.ToChar(var) var轉換爲char
Convert.ToDecimal(var) var轉換爲decimal
Convert.ToDouble(var) var轉換爲double
Convert.ToInt16(var) var轉換爲short
Convert.ToInt32(var) var轉換爲int
Convert.ToInt64(var) var轉換爲long
Convert.ToSByte(var) var轉換爲sbyte
Convert.ToSingle(var) var轉換爲float
Convert.ToString(var) var轉換爲string
Convert.ToUInt16(var) var轉換爲ushort
Convert.ToUInt32(var) var轉換爲uint
Convert.ToUInt64(var) var轉換爲ulong


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章