淺談c# 浮點數(shù)計算
給大家看個計算題,看看大家的算術(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>
相關(guān)文章
DevExpress實現(xiàn)GridView當無數(shù)據(jù)行時提示消息
這篇文章主要介紹了DevExpress實現(xiàn)GridView當無數(shù)據(jù)行時提示消息,需要的朋友可以參考下2014-08-08
C#使用throw和throw?ex拋出異常的區(qū)別介紹
這篇文章介紹了C#使用throw和throw?ex拋出異常的區(qū)別,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10
Unity通用泛型單例設(shè)計模式(普通型和繼承自MonoBehaviour)
這篇文章主要介紹了Unity通用泛型單例設(shè)計模式,分為普通型和繼承MonoBehaviour,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
C# winform打開Excel文檔的方法總結(jié)(必看篇)
下面小編就為大家?guī)硪黄狢# winform打開Excel文檔的方法總結(jié)(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01

