C# 幾種資料型別轉換
阿新 • • 發佈:2019-02-08
1.(int)變數名[強制型別轉換]
該轉換方式主要用於數字型別之間的轉換,從int型別向long,float,double,decimal 型別轉換可以使用隱式轉換,但從long型到int 就需要使用顯示轉換,即使用該型別的轉換方式否則產生編譯錯誤。
該方式對於浮點數會無條件的捨去,會失去精確度
對於char型別的到int型別的轉換,傳回的值是ASCII碼
示例:double doubleValue = 3.14159265; int intValue = (int)doubleValue;
2.int.Parse(string 變數名)
該方式是將數字內容的字串轉換為int型別,如果字串的內容為Null ,則丟擲ArgumentNullException異常;如果字串內容不是數字,則丟擲FormatException異常。
使用該方法只能處理字串的內容,而且轉換後的字串內容要在int型別的可表示範圍之內
3.int.TryParse(string s, out int result)
該方式也是將數字內容的字串轉換為int型別,但是該方式有比int.Parse 優越的地方,就是它不會出現異常,最後一個引數result是輸出值,如果轉換成功則輸出相應的值,轉換失敗則輸出0。
4. Convert.ToInt32
該方式不僅可以將字串型別轉換為int,還可以將其他的型別轉換為int。變數若為object或string型別,當其值為Nul時,會傳回0,不會造成程式錯誤,但是若此string型別的值為string.Empty,轉換成int時,程式仍會出錯。
該方式對於float型別做四捨五入。
該方式同強制型別轉換一樣在處理char型別的時候,返回的都是ASCII碼
示例: int intValue1 = "123".ConvertTo<int>(); int? intValue2 = "123".ConvertTo<int?>(); DateTime dateTimeValue1 = "1981-08-24".ConvertTo<DateTime>(); DateTime? dateTimeValue2 = "1981-08-24".ConvertTo<DateTime?>();