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