C 高階 07 型別轉換

2021-08-08 00:21:33 字數 1829 閱讀 7317

型別轉換就目前 get 到的在 c# 裡面一共有兩種,隱式轉換跟顯式轉換(也叫強勢轉換),下面咱們乙個乙個的以**例項來介紹。

1,隱式轉換:

參與運算(算術運算和賦值運算)的運算元和結果型別必須一致,當不一致時,滿足下面條件時系統自動完成型別轉換(隱式轉換)。

......1)兩種型別相容

...................例如: int 和 double 相容(都是數字型別)。

......2)目標型別大於源型別

...................例如:double > int

......3)對於表示式,如果乙個運算元為 double 型,則整個表示式可提公升為 double 型。

全部為 int 型別的**示例如下:

class program

}

輸出結果:

全部為 double 型別的示例如下:

class program

}

輸出結果:

int 型別在前,double 型別在後的示例如下:

class program

}

輸出結果:

可能你會想,為什麼會是 3 呢?不該是 3.333333.... 麼?

因為儘管 num2 是 double 型別的,但是 num1 還是 int 型別的。

double 型別在前,int 型別在後的示例如下:

到這裡就出問題了,之所以這樣是因為 double > int 。

除了上面的之外還有一種是屬於強制轉換的,寫在這裡吧,結合上面的**示例容易理解。

語法:..)這樣(資料型別名)待轉換的值,例如: int b = (int) 3.14;

..)謹記,int 轉 double 隱式轉換,多小數。 double 轉 int 顯式轉換,丟精度。

2,強制轉換:

這裡咱們介紹乙個「工廠」:convert ;

convert 不再僅是記憶體級別的轉換,而是考慮資料意義的轉化。convert 是乙個加工改造的過程。

通過 convert.toint32 (能轉換成 int 型別的資料) 來把其他型別資料轉換成 int 型別。

**示例如下:

class program

數學成績是總成績是",chinese,math,sum);

console.readkey();}}

在這裡注意一點就行,string 型別 通過 conver.toint32  轉換成了 int 型別。

另外在這段**裡你還看到了新的東西,比如:console.readline,還有console.writeline("你的語文成績是數學成績是總成績是",chinese,math,sum);,乙個是接收資料的,乙個是佔位符,這兩點咱們下篇部落格講解,一點一點來。

C 學習筆記 07 型別轉換

型別轉換 賦值轉換 賦值轉換指的是將一種型別的值賦給另一種型別的變數,這時,值將會轉換為接收變數的型別,如語句 a b 如果a是long型,b是short型,則程式會將16位 short佔兩位元組 的b提公升為32位 long佔4位元組 並賦給a,直觀上講,型別的表達能力取決於該型別所佔的記憶體位數...

C 高階篇(四) 型別轉換高階

目前為止,我們一直使用傳統的型別轉換符來進行簡單物件的型別轉換。例如,要把乙個double型別的浮點型數字轉換為int 的整型數字,我們是這樣做的 int i double d i int d 或者 i int d 這樣做對基本資料型別時沒問題的,因為基本資料型別的轉換已經有標準的定義。同樣的操作也...

C語言高階剖析 4 型別轉換

c語言中的資料型別可以轉換,分為強制型別轉換和隱式型別轉換 int main 注意 不是所有的強制型別轉換都能成功,當不能進行強制型別轉換時,編譯器將產生錯誤資訊 舉例說明 這是編譯器主動進行的型別轉換 注意 低型別到高型別的隱式型別轉換是安全的,不會產生截斷 高型別到低型別的隱式型別轉換是不安全的...