C 隱式型別轉換?

時間 2022-01-13 12:37:09

1樓:一唐老獅一

目前我們學習了變數的知識,我們知道不同的變數型別,儲存的數值範圍或者儲存的數值型別不同的。

比如不同的儲存範圍有符號整型sbyte、int、short、long以及無符號整型byte、uint、ushort、ulong。不同的儲存型別浮點數float、double字串string字元char表示真假的bool

那麼今天要講解的型別轉換是什麼呢?其實簡單理解就是將不同的變數型別相互進行轉換轉換成目標型別後進行使用。

強記憶

一句話

↓↓↓↓

自動處理

大範圍裝小範圍

【同型別之間的轉換】

【不同型別之間的轉換】

浮點數和整數

char和整數

【隱式轉換——>低精度轉高精度】

強記憶

一句話

↓↓↓↓

手動處理

強制轉換

【方法一:括號強轉法】

所有數值型別的變數,都可以通過這種括號加變數型別的形式進行顯示轉化,我們也可以稱之為強制轉換

需要注意的是,當高精度通過這種方式進行顯示轉換時,浮點型別到整數型別時,會丟失小數點後的精度,如果超出目標型別的儲存範圍時,可能資料會異常

注意

字串

不適用這種方式

【方法二:Parse法】

專門用於處理上面提到的問題

將字串轉換為對應的數值型別

注意

字串

必須正確

【方法三:Convert法】

可以將任意資料型別之間

進行精確度更高的轉換

注意

字串

必須正確

否則執行會報錯

各型別

對應的方法

它和方法二最大的區別是,方法二只能傳入字串方法三可以傳入目前我們學過的任何型別。而且在數值型別之間相互轉換時,精確度更高

括號強轉法

↓↓↓↓

數值型別之間轉換

Parse法

↓↓↓↓

字串轉數值

Convert法

↓↓↓↓

各型別之間轉

精度更高

【其它型別轉string字串】

通過上面型別轉換知識的學習,你會發現,3中轉換方法都沒有提到將其它型別轉換為string型別的方法,接下來來告訴大家如何將其它數值型別轉換為string字串。

關注唐老獅獲取更多乾貨內容

c 中進行型別轉換時,為什麼子類可以隱式轉換到父類?

面對物件原則之,黎克特制替換原則。Liskov於1987年提出了乙個關於繼承的原則 Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.繼承...

C 17 的指標型別的強制轉換何解?

躺平之王 reinterpret 是對記憶體資料的型別重新解釋,主要用來無關型別轉換,比如指標型別轉成整數,原來4B解釋成位址的現在解釋成整型 static 最常用,進行相關型別的轉換,比如基本型別之間,父類子類之間,void 與其他指標型別。dynamic 與static對應的,是執行態的轉換,在...

C 11中能否顯式宣告乙個lambda型別的變數,而不用auto

所以,不存在符合標準的 不利用編譯器內部實現特徵 的顯式宣告lambda型變數的方法,是這樣嗎?是。你可以寫個程式,用 typeid 列印出型別的名字看一下。include include template T void printType T obj intmain printType print...