關於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 處置奇進偶不進的完成代碼就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。