發(fā)布時間:2021-12-27 16:34:22來源:有考培訓(xùn)網(wǎng)綜合
杭州C++培訓(xùn)機構(gòu)選哪家?這篇文章主要介紹了C#中的自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下,前面已經(jīng)認識了不同的數(shù)據(jù)類型,你們有沒有嘗試過讓不同的數(shù)據(jù)類型進行運算呢?
杭州C++培訓(xùn)機構(gòu)選哪家?
達內(nèi)教育隸屬于加拿大達內(nèi)IT培訓(xùn)集團,于2002年成立 ,是達內(nèi)IT培訓(xùn)集團直屬學(xué)院。學(xué)院成立旨在建立軟件高級人才培養(yǎng)的通道,促進我國信息產(chǎn)業(yè)迅速發(fā)展。依托達內(nèi)集團國內(nèi)持平的課程體系(TTS6.0),雄厚的師資力量,廣闊的就業(yè)平臺,迄今為止已與國內(nèi)上萬家IT企業(yè)進行人才輸送合作,其中緊密合作企業(yè)4000余家、深入合作企業(yè)200余家、訂單輸送聯(lián)盟企業(yè)107家。作為國內(nèi)IT培訓(xùn)的實力品牌,達內(nèi)集團的每一名員工都以"幫助每一個學(xué)員成就夢想"為己任,也正因為達內(nèi)人的執(zhí)著與努力,達內(nèi)堅持為社會輸送合格人才,為中國IT行業(yè)的發(fā)展做出了貢獻。
int a = 1;
double b = a;
Console.WriteLine(b);
運行結(jié)果為:1
我們把一個整型的變量賦值給了一個浮點型的變量,可以正常的輸出,如果我們把一個浮點型的變量賦值給一個整型的變量呢?
double a = 1;
int b = a;
Console.WriteLine(b);
這樣就會報錯。
為什么呢?因為我們之前說過,變量就像一個容器,里面存放著變量的值。而數(shù)據(jù)類型就相當(dāng)于容器的類型,決定了容器能夠存放什么樣的值。
試想,生活中我們把小盒子里的東西放進大盒子里,是沒有問題的。數(shù)據(jù)類型也是這樣。我們把整型的數(shù)據(jù)賦值給浮點型是可以放進去的,放進去之后里面的值1其實也就變成了浮點型,即1.0,不過c#輸出的時候,很聰明的把后面的.0去掉了。
結(jié)論:占字節(jié)小的可以向占字節(jié)大的自動轉(zhuǎn)換,但占字節(jié)大的不能向占字節(jié)小的自動轉(zhuǎn)換。
這種數(shù)據(jù)類型的轉(zhuǎn)換是自動完成的,所以叫做自動類型轉(zhuǎn)換。
如果我偏要把字節(jié)大的賦值給字節(jié)小的怎么辦呢?試想,生活中我們把大盒子中的東西裝進小盒子,東西少還好,東西多了就只能裝進去一部分了?,F(xiàn)在我說,我不聽我不聽,我就是要把大盒子的東西裝進小盒子。哭唧唧……
沒辦法,我們只能使用強制類型轉(zhuǎn)換,即把占字節(jié)大的數(shù)據(jù)類型強制轉(zhuǎn)換為占字節(jié)小的數(shù)據(jù)類型。
double a = 1.2;
int b = (int)a;
Console.WriteLine(b);
我們在引用變量a給b賦值時,在a前面加了個括號,就是把數(shù)據(jù)類型強制轉(zhuǎn)換為括號里的數(shù)據(jù)類型。我們運行一下,結(jié)果是:1
a的值是1.2,強制類型轉(zhuǎn)換賦值給了b之后就只剩1了,因為整型的沒有小數(shù)部分,所以裝不下了啊。