淺談c# 浮點(diǎn)數(shù)計算
給大家看個計算題,看看大家的算術(shù)能力。
0.1 +0.1 +0.1 - 0.3 等于幾?
大家可能會說這么簡單的問題,是不是看不起我?肯定等于0啊。
如果大家直接算的是沒有問題的,但是如果用計算機(jī)呢?
見證奇跡的時刻到了,看代碼:
void Main()
{
var f = 0.1 +0.1 +0.1 -0.3;
Console.WriteLine("f=={0}",f);
}
運(yùn)行結(jié)果:

這是因為計算機(jī)的精度的問題,在計算機(jī)的內(nèi)部存儲和運(yùn)算的精度缺失等問題,我解釋的可能不太明白,不過,大家可以用下面的方案進(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)文章
C#通過正則表達(dá)式實現(xiàn)提取網(wǎng)頁中的圖片
本文給大家分享的是使用C#通過正則表達(dá)式來實現(xiàn)提取網(wǎng)頁中的圖片的代碼,十分的方便,有需要的小伙伴可以參考下。2015-12-12
C#實現(xiàn)通過ffmpeg從flv視頻文件中截圖的方法
這篇文章主要介紹了C#實現(xiàn)通過ffmpeg從flv視頻文件中截圖的方法,實例分析了C#使用ffmpeg操作flv文件的技巧,需要的朋友可以參考下2015-03-03
C# Xamarin利用ZXing.Net.Mobile進(jìn)行掃碼的方法
這篇文章主要介紹了C# Xamarin利用ZXing.Net.Mobile進(jìn)行掃碼的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06

