四捨五入是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...