程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 關於C# Math 處置奇進偶不進的完成代碼

關於C# Math 處置奇進偶不進的完成代碼

編輯:C#入門知識

關於C# Math 處置奇進偶不進的完成代碼。本站提示廣大學習愛好者:(關於C# Math 處置奇進偶不進的完成代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是關於C# Math 處置奇進偶不進的完成代碼正文


話說,比來一次體系保護 用JS讀取導入Excel中的試驗數據,湧現被主動四捨五入。後離開客戶現場聽客戶反應  Excel試驗數據請求 奇進偶不進。

關於 奇進偶不進 發生的由來:從統計學的角度,“奇進偶捨”比“四捨五入”要迷信,在年夜量運算時,它使捨入後的成果誤差的均值趨於零,而不是像四捨五入那樣逢五就入,招致成果傾向年夜數,使得誤差發生積聚進而發生體系誤差,“奇進偶捨”使丈量成果遭到捨入誤差的影響降到最低。

Math下找了下,應用Round 的重載,應用 MidpointRounding.ToEven 便可以完成 奇進偶不進。

// 4
      double d = 5.214;
      double res = Math.Round(d, 2, MidpointRounding.ToEven);
      Console.WriteLine(res);//5.21

      //6
      d = 5.216;
      res = Math.Round(d, 2, MidpointRounding.ToEven);
      Console.WriteLine(res);//5.22

      //5
      d = 5.215;
      res = Math.Round(d, 2, MidpointRounding.ToEven);
      Console.WriteLine(res);//5.22
      d = 5.225;
      res = Math.Round(d, 2, MidpointRounding.ToEven);
      Console.WriteLine(res);//5.22




      //不止小數點後3位時
      d = 0.7865666;
      res = Math.Round(d, 2, MidpointRounding.ToEven);
      Console.WriteLine(res);//0.79

      d = 0.786;
      res = Math.Round(d, 2, MidpointRounding.ToEven);
      Console.WriteLine(res);//0.79

      d = 0.785;
      res = Math.Round(d, 2, MidpointRounding.ToEven);
      Console.WriteLine(res);//0.78

以上這篇關於C# Math 處置奇進偶不進的完成代碼就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

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