c 四捨五入

2022-05-05 06:15:09 字數 882 閱讀 3359

c++的四捨五入函式比較

對含有小數點的數進行四捨五入是比較普遍的一種需求。在c++中也有類似的取整函式。在c++的標頭檔案中有floor()和ceil()函式。在stl中還有round()函式。這三個函式的作用如下:

函式名稱

函式說明

2.12.9

-2.1

-2.9

floor()

不大於自變數的最大整數22

-3-3

ceil()

不小於自變數的最小整數33

-2-2

round()

四捨五入到最鄰近的整數23

-2-3

從函式說明中可以看出,

(1) floor()會取不大於自變數的最大整數,這樣自變數是3.1或3.9是沒有區別的,返回都是3;自變數是-2.1或-2.9也是沒有區別的,返回都是-3;

(2) ceil()會取不小於自變數的最大整數,這樣自變數是3.1或3.9,返回都是4;自變數是-2.1或-2.9,返回的都是-2;

(3) round()函式,才是我們需要的四捨五入的函式,因為它會返回離自變數最近的整數,這個返回的整數可能大於也可能小於原來的數,但是一定是離它最近的那個整數。

注:floor(), ceil()函式都包含在標頭檔案「math.h」中,但是round()函式未包含在該標頭檔案中。因此可以通過以上的原理,來自己實現round()函式,實現含有小數的數字的四捨五入。

**實現一:

int round_double(double number)

**實現二:

int round_double(double number)

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

C 四捨五入

在處理一些資料時,我們希望能用 四捨五入 法實現,但是c 採用的是 四捨六入五成雙 的方法,如下面的例子,就是用 四捨六入五成雙 得到的結果 double d1 math.round 1.25,1 1.2double d2 math.round 1.24,1 1.2double d3 math.ro...