C# Math.Round()函數(shù)問題
更新時間:2008年12月30日 20:54:02 作者:
Math.Round()準(zhǔn)確的說,這個函數(shù)不是四舍五入,而是四舍六入五湊偶,就是說小于4或大于6的該舍該入是沒有爭議的,而5處在正中間,如果四舍五入則會造成數(shù)據(jù)的整體偏差,所以采取的原則是:如果舍入位為5,則舍入后最后一位為偶數(shù),這是國際慣例。
Math.Round ()在四舍五入時有個問題:
Math.Round(2.5,0) = 2;
Math.Round(3.5,0) = 4;
2.5應(yīng)該等于3才對!
在ASP中也存在這個問題,不過ASP中還有個FormatNumber可以用,但目前還不知道怎么使用?
解釋:
Math.Round()準(zhǔn)確的說,這個函數(shù)不是四舍五入,而是四舍六入五湊偶,就是說小于4或大于6的該舍該入是沒有爭議的,而5處在正中間,如果四舍五入則會造成數(shù)據(jù)的整體偏差,所以采取的原則是:如果舍入位為5,則舍入后最后一位為偶數(shù),這是國際慣例。
現(xiàn)在做的項目都要5入,解決方法:
目前做法是:
如:(3.45*10+0.5)取整,再除以10
Math.Round(2.5,0) = 2;
Math.Round(3.5,0) = 4;
2.5應(yīng)該等于3才對!
在ASP中也存在這個問題,不過ASP中還有個FormatNumber可以用,但目前還不知道怎么使用?
解釋:
Math.Round()準(zhǔn)確的說,這個函數(shù)不是四舍五入,而是四舍六入五湊偶,就是說小于4或大于6的該舍該入是沒有爭議的,而5處在正中間,如果四舍五入則會造成數(shù)據(jù)的整體偏差,所以采取的原則是:如果舍入位為5,則舍入后最后一位為偶數(shù),這是國際慣例。
現(xiàn)在做的項目都要5入,解決方法:
目前做法是:
如:(3.45*10+0.5)取整,再除以10
相關(guān)文章
asp.net HttpWebRequest自動識別網(wǎng)頁編碼
HttpWebRequest獲取網(wǎng)頁源代碼時自動識別網(wǎng)頁編碼,通過讀取頁面中的charset和讀取http頭中的編碼信息獲取頁面的編碼,基本可以正確獲取網(wǎng)頁編碼2008-09-09asp.net MVC利用自定義ModelBinder過濾關(guān)鍵字的方法(附demo源碼下載)
這篇文章主要介紹了MVC利用自定義ModelBinder過濾關(guān)鍵字的方法,結(jié)合實例形式詳細(xì)分析了自定義ModelBinder過濾關(guān)鍵字的原理與具體實現(xiàn)技巧,需要的朋友可以參考下2016-03-03ASP.NET中Session和Cache的區(qū)別總結(jié)
這篇文章主要介紹了ASP.NET中Session和Cache的區(qū)別總結(jié),本文結(jié)合使用經(jīng)驗,總結(jié)出了5點Session緩存和Cache緩存的區(qū)別,需要的朋友可以參考下2015-06-06asp.net生成靜態(tài)后冗余代碼,去掉viewstate生成的代碼
asp.net生成的viewstate垃圾信息超過了20K,如果頁面前二K不是內(nèi)容會被引擎處罰,所以我們需要清理下asp.net生成靜態(tài)后冗余代碼2012-10-10