程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c# 簡單又好用的四捨五入方法

c# 簡單又好用的四捨五入方法

編輯:C#入門知識

四捨五入是軟件開發中經常遇到的問題,我也在不止一個項目中用到這方面的運算;關於c#的四捨五入,如果你去網上搜會有好多結果,但大部分的內容都是說微軟的Math.Round() 不准確,屬於“四捨六入五成雙”,然後會有很多人自己去寫方法來實現,有的很簡單,有的很復雜,有的還不對;

其實要實現這個功能,真的不用這麼麻煩;大家既然知道c#有Math.Round(),難道就沒發現它有多大8個重載方法嗎,其中有一個類型是MidpointRounding的參數,只要我們很好的利用它,就完全可以實現很精確的四捨五入,根本不用寫那麼復雜的方法。


MidpointRounding:指定數學捨入方法應如何處理兩個數字間的中間值。


下表演示與 MidpointRounding 的值結合使用的某些正數和負數的捨入結果。在捨入數字時所使用的精度是零,這意味著小數點之後的數字會影響捨入運算。例如,對於數字 -2.5,小數點之後的數字是 5。由於該數字是中間值,因此您可以使用 MidpointRounding 值來確定捨入結果。如果指定了 AwayFromZero,則將返回 -3,因為它是精度為零且與零最接近的數字。如果指定了 ToEven,則將返回 -2,因為它是精度為零的最接近的偶數。

原始數字
  取絕對值較大的值
  取偶數
  3.5
  4
  4
  2.8
  3
  3
  2.5
  3
  2
  2.1
  2
  2
  -2.1
  -2
  -2
  -2.5
  -3
  -2
  -2.8
  -3
  -3
  -3.5
  -4
  -4
 

不用我再解釋了吧,假如像把3.455四捨五入到3.46,實際上只需要用下面的代碼就可以

 
==============================

Math.Round( 3.455, 2, MidpointRounding.AwayFromZero)

==============================     

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved