C# 數(shù)值類型

在整數(shù)類型中,int和long是最基本的類型兜叨。
在實數(shù)類型中潭千,float和double稱為浮點類型谱姓,并通常用于科學(xué)和圖形計算。
decimal類型通常用于金融計算刨晴。

        static void Main(string[] args)
        {
            int a1 = 10;
            long a2 = 0x7F;  //0x前綴代表十六進(jìn)制
            int a3 = 1_000_000;  //C# 7開始屉来,可加入下劃線方便閱讀
            var a4 = 0b1110_0011_1010;  //0b前綴代表二進(jìn)制            

            //如果字面量包含小數(shù)點或者指數(shù)符號(E),編譯器默認(rèn)推斷為double
            //否則狈癞,字面量的類型就是能滿足這個字面量的第一個類型:int茄靠、uint、long和ulong
            Console.WriteLine(1.0.GetType());  //System.Double
            Console.WriteLine(1E05.GetType());  //System.Double
            Console.WriteLine(1.GetType());  //System.Int32
            Console.WriteLine(0x100000000.GetType());  //System.Int64

            //數(shù)值后綴
            float b1 = 1.0F;
            double b2 = 1D;
            decimal b3 = 1.0M;
            uint b4 = 1U;
            long b5 = 1L;
            ulong b6 = 1UL;

            //數(shù)值轉(zhuǎn)換
            int c1 = 123;
            long c2 = c1;  //隱式轉(zhuǎn)換
            short c3 = (short)c1;  //需顯式轉(zhuǎn)換

            //所有整數(shù)類型可以隱式轉(zhuǎn)換為浮點數(shù)類型
            int d1 = 3;
            float d2 = d1;
            //反之蝶桶,需顯式轉(zhuǎn)換
            int d3 = (int)d2;    //浮點數(shù)轉(zhuǎn)換為整數(shù)時慨绳,小數(shù)點后的數(shù)值將被截去而不會舍入

            //注意丟失精度
            int e1 = 100000001;
            float e2 = e1;  //丟失精度
            int e3 = (int)e2;
            Console.WriteLine(e3);  //100000000

            //自增和自減
            int f1 = 0;
            int f2 = 0;
            Console.WriteLine(f1++);    //0;    f1++代表先賦值,再加1真竖;  這里先輸出0脐雪,再把f1加1
            Console.WriteLine(f1);      //1;
            Console.WriteLine(++f2);    //1;    ++f2代表先加1,再賦值恢共;  這里先把f2加1战秋,再輸出,結(jié)果為1
            Console.WriteLine(f2);      //1;

            //整數(shù)除法
            int g1 = 2 / 3; //整數(shù)類型的除法運算總是會截斷余數(shù)
            Console.WriteLine(g1);  //0

            int g2 = 0;
            //int g3 = 3 / g2;    //除數(shù)為0旁振,產(chǎn)生運行時錯誤(throws DivideByZeroException)


            //整數(shù)溢出
            int h1 = int.MinValue;
            h1--;
            Console.WriteLine(h1 == int.MaxValue);  //True

            
            //checked / unchecked
            int i1 = 1000000;
            int i2 = 1000000;
            //int i3 = checked(i1 * i2);  //checked運算符在運行時如溢出获询,拋出OverflowException涨岁,但對double拐袜、float吉嚣、decimal無效

            int i4 = int.MaxValue;
            int i5 = unchecked(i4 + 1); //使用unchecked不會拋出異常
            unchecked { int i6 = i4 + 1; }  //使用unchecked不會拋出異常


            short j1 = 1, j2 = 1;
            //short j3 = j1 + j2; //Compile-time error
            short j4 = (short)(j1 + j2);    //OK


            Console.WriteLine(double.NegativeInfinity); //-Infinity

            //非零值除以零的結(jié)果是無窮大
            Console.WriteLine(1.0 / 0.0);   //Infinity  
            Console.WriteLine(-1.0 / 0.0);  //-Infinity
            Console.WriteLine(1.0 / -0.0);  //-Infinity
            Console.WriteLine(-1.0 / -0.0); //Infinity

            //零除以零或無窮大減去無窮大的結(jié)果是NaN
            Console.WriteLine(0.0 / 0.0);   //NaN
            Console.WriteLine((1.0 / 0.0) - (1.0 / 0.0));   //NaN

            //使用比較運算符==時,一個NaN值永遠(yuǎn)不等于其它的值蹬铺,也不等于其它的NaN值
            Console.WriteLine(0.0 / 0.0 == double.NaN); //False
            //但使用object.Equals方法時尝哆,兩個NaN卻是相等的
            Console.WriteLine(object.Equals(0.0 / 0.0, double.NaN));    //True

            //可使用float.IsNaN或double.IsNaN來判斷一個值是否為NaN
            Console.WriteLine(double.IsNaN(0.0 / 0.0)); //True

        }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市甜攀,隨后出現(xiàn)的幾起案子秋泄,更是在濱河造成了極大的恐慌,老刑警劉巖规阀,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恒序,死亡現(xiàn)場離奇詭異,居然都是意外死亡谁撼,警方通過查閱死者的電腦和手機歧胁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厉碟,“玉大人喊巍,你說我怎么就攤上這事」抗模” “怎么了崭参?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長款咖。 經(jīng)常有香客問我何暮,道長,這世上最難降的妖魔是什么铐殃? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任郭卫,我火速辦了婚禮,結(jié)果婚禮上背稼,老公的妹妹穿的比我還像新娘贰军。我一直安慰自己,他們只是感情好蟹肘,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布词疼。 她就那樣靜靜地躺著,像睡著了一般帘腹。 火紅的嫁衣襯著肌膚如雪贰盗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天阳欲,我揣著相機與錄音舵盈,去河邊找鬼陋率。 笑死,一個胖子當(dāng)著我的面吹牛秽晚,可吹牛的內(nèi)容都是我干的瓦糟。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼赴蝇,長吁一口氣:“原來是場噩夢啊……” “哼菩浙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起句伶,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤劲蜻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后考余,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體先嬉,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年楚堤,在試婚紗的時候發(fā)現(xiàn)自己被綠了疫蔓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡钾军,死狀恐怖鳄袍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吏恭,我是刑警寧澤拗小,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站樱哼,受9級特大地震影響哀九,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜搅幅,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一阅束、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茄唐,春花似錦息裸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蚁廓,卻和暖如春访圃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背相嵌。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工腿时, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留况脆,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓批糟,卻偏偏與公主長得像格了,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子跃赚,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容