整數四捨五入的兩種方法 c實現

2021-09-29 06:37:28 字數 819 閱讀 9594

四捨五入是c語言程式設計經常使用的函式。這裡記錄用整數輸入進行四捨五入的判斷方法。

1、使用條件表示式

實際上只需要觀察四捨五入之後的餘數,如果餘數大於0.5,則進1,反之保留整數。這裡可以用條件表示式。

假設輸入的int整數a,int整數b是a四捨五入之後的整數。相應程式如下:

int b=(a-2*(a/2))>=1?a/2+1:a/2; //四捨五入

上面方法易於理解,使用條件表示式使得**精簡。

2、利用浮點數的特點

還可以利用浮點數取整的特點,及如果浮點數的小數部分是[0,0.5),取整後只保留整數,如果將其加上0.5,取整後仍然還是保留的整數;如果小數部分是[0.5,0.99……],取整後仍是整數,但是加上0.5之後,再取整則達到的整數將比原來的大1。

因此可以採用下面的方法

double b;

b=int(b+0.5);

例如:#include

using namespace std;

int main(){

double a; cin>>a;

cout《例如下面兩個是不一樣的:

int a=2.5,b=2.4,a1,a2,b1,b2;

a1=(int)a+0.5;

a2=int(a+0.5);

b1=(int)b+0.5;

b2=int(b+0.5);

/*a1=2.5

a2=3

b1=2.5

b2=2

*/如果只對強制轉換的目標型別加括號,如上面的(int),結果就是會選擇最近的變數進行強制型別轉換,不會把後面的表示式都進行強制型別轉換。

C 四捨五入的方法

c 四捨五入的方法 原創半開半落 發布於2019 06 17 22 12 39 閱讀數 2423 收藏 展開在c 中要實現四捨五入的方法主要有三種 1一.使用round 方法進行輸出 double z1 55.686 double z math.round z1,2 輸出結果為 55.69 deci...

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