close

今天在處理小數點四捨五入時發現

我的數值四捨五入到小數點第二位

11.245 不是依照預期的變成 11.25

而是變成了 11.24 !!

 

發現 Math.Round 四捨五入有兩種方式

MidpointRounding.AwayFromZero 遠離零四捨五入
中間值會四捨五入到下一個數字背離零。 比方說,3.75 捨入至 3.8 3.85 四捨五入為 3.9,-3.75 捨入至-3.8,和-3.85 會捨入為-3.9。 這種形式的捨入由 列舉型別成員。

遠離零四捨五入為最廣泛的已知的表單的捨入。

MidpointRounding.ToEven  捨入至最接近值或五成雙
中間值會四捨五入至最接近的偶數。 比方說,3.75 和 3.85 捨入 3.8,並捨入到-3.8-3.75 和-3.85。 這種形式的捨入由列舉型別成員。
 
預設使用:MidpointRounding.ToEven 

 

所以要達到預期效果請使用

Math.Round(Num,2 , MidpointRounding.AwayFromZero);

 

arrow
arrow
    文章標籤
    C# Math Round
    全站熱搜
    創作者介紹
    創作者 cs60811 的頭像
    cs60811

    IT的隱形人世界

    cs60811 發表在 痞客邦 留言(0) 人氣()