C# 小數點後保留兩位小數,四捨五入的函式及使用方法
阿新 • • 發佈:2018-12-18
1 Math.Round(45.367,2) //Returns 45.37 2 Math.Round(45.365,2) //Returns 45.36
C#中的Round()不是我們中國人理解的四捨五入,是老外的四捨五入,是符合IEEE標準的四捨五入,具體是四捨六入,下面的才是符合中國人理解的四捨五入
Math.Round(45.367,2,MidpointRounding.AwayFromZero); //Returns 45.37 Math.Round(45.365,2,MidpointRounding.AwayFromZero); //Returns 45.37 備註:根據網在留言板反饋,傳入的引數如果是double型別的,其實得到的結果還是不會四捨五入(double精度不夠導致的) 所以上面的更嚴謹的寫法應該是:將傳入的引數預設轉換為decimal型別,確保其在四捨五入之前精度不會降下來。因為decimal精度高於double 最終版: Math.Round(Convert.ToDecimal(45.367),2,MidpointRounding.AwayFromZero); //Returns 45.37 Math.Round(Convert.ToDecimal(45.365),2,MidpointRounding.AwayFromZero); //Returns 45.37