淺談c# 浮點(diǎn)數(shù)計(jì)算
給大家看個(gè)計(jì)算題,看看大家的算術(shù)能力。
0.1 +0.1 +0.1 - 0.3 等于幾?
大家可能會(huì)說(shuō)這么簡(jiǎn)單的問(wèn)題,是不是看不起我?肯定等于0啊。
如果大家直接算的是沒(méi)有問(wèn)題的,但是如果用計(jì)算機(jī)呢?
見(jiàn)證奇跡的時(shí)刻到了,看代碼:
void Main() { var f = 0.1 +0.1 +0.1 -0.3; Console.WriteLine("f=={0}",f); }
運(yùn)行結(jié)果:
這是因?yàn)橛?jì)算機(jī)的精度的問(wèn)題,在計(jì)算機(jī)的內(nèi)部存儲(chǔ)和運(yùn)算的精度缺失等問(wèn)題,我解釋的可能不太明白,不過(guò),大家可以用下面的方案進(jìn)行解決:
void Main() { //var f = 0.1 +0.1 +0.1 -0.3; //Console.WriteLine("f=={0}",f); var f1 = new Decimal(0.1) + new Decimal(0.1) + new Decimal(0.1) - new Decimal(0.3); Console.WriteLine("f1 == {0}",f1); }
運(yùn)行結(jié)果:
這樣就是正常的運(yùn)算結(jié)果了。
啦啦啦?。。?!
相關(guān)文章
ListView Adapter優(yōu)化 實(shí)例
ListView Adapter優(yōu)化 實(shí)例,需要的朋友可以參考一下2013-04-04C#通過(guò)正則表達(dá)式實(shí)現(xiàn)提取網(wǎng)頁(yè)中的圖片
本文給大家分享的是使用C#通過(guò)正則表達(dá)式來(lái)實(shí)現(xiàn)提取網(wǎng)頁(yè)中的圖片的代碼,十分的方便,有需要的小伙伴可以參考下。2015-12-12C#實(shí)現(xiàn)通過(guò)ffmpeg從flv視頻文件中截圖的方法
這篇文章主要介紹了C#實(shí)現(xiàn)通過(guò)ffmpeg從flv視頻文件中截圖的方法,實(shí)例分析了C#使用ffmpeg操作flv文件的技巧,需要的朋友可以參考下2015-03-03C# Xamarin利用ZXing.Net.Mobile進(jìn)行掃碼的方法
這篇文章主要介紹了C# Xamarin利用ZXing.Net.Mobile進(jìn)行掃碼的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06