C 自動型別轉換與強制型別轉換的講解

2022-09-26 03:12:14 字數 915 閱讀 1249

自動型別轉換

隱式型別轉換 - 這些轉換是 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型變數時,注意數值範圍溢位 字元型資料可...