c# 中沒有四捨五入函式,事實上我知道的程式語言都沒有四捨五入函式,因為四捨五入演算法不科學,國際通行的是 banker 捨入法,banker 's rounding(銀行家捨入)演算法,即四捨六入五取偶。事實上這也是 ieee 規定的捨入標準。因此所有符合 ieee 標準的語言都應該是採用這一演算法的
math.round 方法預設的也是 banker 捨入法
在 .net 2.0 中 math.round 方法有幾個過載方法
math.round(decimal, midpointrounding)
math.round(double, midpointrounding)
math.round(decimal, int32, midpointrounding)
math.round(double, int32, midpointrounding)
將小數值捨入到指定精度。midpointrounding 引數,指定當乙個值正好處於另兩個數中間時如何捨入這個值。
如 math.round(2.0479,2) 的執行結果 2.05
**
C 中四捨五入函式
在c 中也有類似的取整函式。在c 的標頭檔案中有floor 和ceil 函式。在stl中還有round 函式。這三個函式的作用如下 函式名稱 函式說明 2.42.6 2.4 2.6 floor 不大於自變數的最大整數22 3 3 ceil 不小於自變數的最大整數33 2 2 round 四捨五入到最...
c 四捨五入
在處理一些資料時,我們希望能用 四捨五入 法實現,但是c 採用的是 四捨六入五成雙 的方法,如下面的例子,就是用 四捨六入五成雙 得到的結果 double d1 math.round 1.25,1 1.2double d2 math.round 1.24,1 1.2double d3 math.ro...
c 四捨五入
math.round跟conver.toint32一樣,都是使用四捨六入五成雙的規則,例如 math.round 3.2 返回3 math.round 3.6 返回4 math.round 3.5 返回4 math.round 2.5 返回2 要做到四捨五入,可加上引數midpointroundin...