自動型別轉換
隱式型別轉換 - 這些轉換是 c# 預設的以安全方式進行的轉換, 不會導致資料丟失。例如,從小的整數型別轉換為大的整數型別,從派生類轉換為基類。
轉換規則
從儲存範圍小的型別到儲存範圍大的型別。
整數具體規則為:
byte→short(char)→int→long→float→double
也就是說byte型別的變數可以自動轉換為short型別,示例**:
byte b = 10;
short sh = b;
在型別轉換時可以跳躍。示例**:
byte b1 = 100;
int n = b1;
強制型別轉換
顯式型別轉換 - 顯式型別轉換,即強制型別轉換。顯式轉換需要強制轉換運算子,而且強制轉換會造成資料丟失。
轉換規則
從儲存範圍大的型別到儲存範圍小的型別。
具體規則為:
double→float→long→int→short(char)→byte
例如:double d = 5673.74;
int i;
i = (int)d;
1.convert.toint32() 2. int.parse()
convert.toint32()則可以將多種型別(包括 objwww.cppcns.comect 引用型別)的值轉換為 int 型別,因為它有許多過載版本:
www.cppcns.com
int32.parse()表示將包含數字的字串轉換為32 位有符號整數,屬於內容轉換
可以看出來,convert.toint32()的功能是最強大的,它把int32.parse()功能包括了,也是說是int32.parse()是convert.toint32() 的一種特殊情況。
總結
c 類的自動型別轉換和強制型別轉換
下面討論類的型別轉換。我們先來看看c 是如何處理內建型別轉換的。將乙個標準型別變數的值賦給另一種標準型別的變數時,如果這兩種型別相容,則c 自動將這個值轉換為接受變數的型別。double time 11 int value 11 converted to type double利用建構函式將內建型別...
C 中的自動型別轉換和強制型別轉換
前面已經認識了不同的資料型別,你們有沒有嘗試過讓不同的資料型別進行運算呢?inmwywfswfnft a 1 double b a console.writeline b 執行結果是 1 我們把乙個整型的變數賦值給了乙個浮點型的變數,可以正常的輸出,如果我們把乙個浮點型的變數賦值給乙個整型的變數呢?...
C 型別的自動轉換和強制轉換
int a 12 a 22.5 a int num int 99.5 int num2 int 99.5 兩種寫法都正確將浮點型變數賦值給整型變數時,捨棄小數部分 將整型資料賦值給浮點型變數時,數值不變,但是以指數形式儲存 將double型資料賦值給float型變數時,注意數值範圍溢位 字元型資料可...