雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁 > 軟件編程 > C#教程 >

淺談c# 浮點數(shù)計算

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

給大家看個計算題,看看大家的算術(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);
}

運行結(jié)果:

這是因為計算機(jī)的精度的問題,在計算機(jī)的內(nèi)部存儲和運算的精度缺失等問題,我解釋的可能不太明白,不過,大家可以用下面的方案進(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);
}

運行結(jié)果:

這樣就是正常的運算結(jié)果了。

啦啦啦?。。?!

上一篇:C# Winform選項卡集成窗體詳解

欄    目:C#教程

下一篇:C#實現(xiàn)的pdf生成圖片文字水印類實例

本文標(biāo)題:淺談c# 浮點數(shù)計算

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5462.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有