c 中的四捨五入函式

2021-06-16 08:05:39 字數 558 閱讀 4816

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...