1樓:
方法一:
#include
int main()
double d1,d2,d3;
d1=-3.1415926;
d2=(int)(d1*10+0.5)*0.1;
printf("d1=%f,保留一位小數的結果為:%.1f\n",d1,d2);
d3=(int)(d1*1000+0.5)*0.001;
printf("d1=%f,保留三位小數的結果為:%.3f",d1,d3);
總結四捨五入保留n為小數
(int)(x*10的n次方+0.5)*10的負n次方;
其次這個方法對負數無效;如果非要用可以先取正數部分算,最後加上負號方法二:
使用round()函式。
#include"stdio.h"
#include"math.h"
void main()
float x;
scanf("%f",&x);
int y = round(x);
printf("%d",y);
2樓:
這個很簡單的。
比如有一個浮點數float a,要四捨五入只要這樣:
int ia = (int)(a + 0.5)。只要a的小數》=0.5,a+0.5的整數位就會進一,然後取整;
小於0.5呢,取整還是原數。
簡單吧。
c語言中怎麼四捨五入
3樓:匿名使用者
利用取整運算的截斷特點實現。
比如:int a=0.75;取整後賦值給a的是0,小數點後面的被截斷了。
如果要做整數的四捨五入,那麼可以:a=(int)(0.75+0.5);取整後得到的與數學中四捨五入的結果一致,都是1;
如果要進行小數點後面的四捨五入,可以這樣計算:
要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,0.756
float a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100.0;
運算是這樣的:先將0.756乘以100,得到75.
6,然後利用取值運算的截斷做四捨五入,75.6+0.5=76.
1取整後等於76,再除以100,得到結果:0.76
4樓:高中生三
設 float x ; int y ; 則有y=(int)(x+0.5)>(int)x?(int)x+1:(int)x進行上述運算後,y 的值就是 x 四捨五入的結果。
利用取整運算的截斷特點實現。
比如:int a=0.75;取整後賦值給a的是0,小數點後面的被截斷了。
如果要做整數的四捨五入,那麼可以:a=(int)(0.75+0.5);取整後得到的與數學中四捨五入的結果一致,都是1;
如果要進行小數點後面的四捨五入,可以這樣計算:
要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,0.756
float a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100;
運算是這樣的:先將0.756乘以100,得到75.
6,然後利用取值運算的截斷做四捨五入,75.6+0.5=76.
1取整後等於76,再除以100,得到結果:0.76
5樓:請叫我小強
如果是保留後面的兩位小數,就應該用取整,
比如0.756
double a=0.756;
a=(a*100+0.5)/100.0;
printf(“%.2lf",a)
6樓:聽不清啊
如果只是要求輸出結果“四捨五入”,只要通過輸出格式符控制即可。
例如:double pi=3.1415926;
printf("%.4lf\n",pi);
可得輸出為3.1416。
printf("%.2lf\n",pi);
可得輸出為3.14。
如果是要把變數本身的值四捨五入到4位小數,則可以這樣處理:
double pi=3.1415926;
pi=((int)(pi*10000+0.5))/10000.0;
7樓:匿名使用者
有一個round函式可以
直接呼叫,
#include"stdio.h"
#include"math.h"
void main()
8樓:匿名使用者
將整數+5,再整除10,再乘以10,就可以了參考**:
#include
int main()
9樓:匿名使用者
round(x)
引數時double型,返回小數對整數部分的四捨五入值
比如 round(3.623); 返回4
10樓:量子高巨集亮
y = (int)(x+0.5);
11樓:匿名使用者
int main()
12樓:匿名使用者
比如小數為 f
(float)((int)(f*100+0.5))/100.0
首先為了保留兩位,乘以100,小數點向前兩位, 然後+0.5取整保證是四捨五入 再轉成 float形式或double形式 除以100 就ok了
13樓:毛毛
利用取整運算的截斷特點實現。
14樓:匿名使用者
給你個簡單的餓例子
四捨五入小數點後一位
float f=1.54536;
f=(int)(f*10+5)/10.0;
你分析看看就知道了
#include
main()
15樓:匿名使用者
中間函式這樣填:
float x;
int a;
cin>>x;
if(x>=0)
a=x+0.5;
else
a=x-0.5;
16樓:清雅之蘭向日葵
使用一個if語句,讓它的值減去它的整數形式然後與0.5比較
17樓:菜鳥升級中
int a = 100.453627
printf("%.1f",a + 0.05); //四捨五入到十分位
printf("%.2f",a + 0.005); //四捨五入到百分位
後面的方法一樣
18樓:匿名使用者
那你這個是什麼意思呢。。不許用“%.1f %.2f。。。
我的想法是,十分位,你就把你的數*10,然後%10的到的餘數就是這位。。。百分位類似。。
後續怎麼輸出,你就自己看著辦吧。。反正小數點你是肯定要自己輸出了 :)
19樓:我在天堂d你
最後一步錯啦,要b=(float)x/100
c語言中如何對浮點數進行四捨五入?
20樓:
c語言中對於浮點數輸出的四捨五入是自動進行的。在浮點數的有效位數範圍內,當要求保留小數點後n位時,系統會自動根據第n+1的值自動進行四捨五入操作。以下**可以驗證:
//#include "stdafx.h"//if the vc++6.0, with this line.
#include "stdio.h"
int main(void)
輸出是:
3.141592653589793
3.142
3.14159
21樓:匿名使用者
%.nf,其中n是字面常量,功能是輸到小數點後面的第n位,第n + 1位“四捨五入”。下面是在vc++ 6.0環境下的測試結果。
/*0.234562
0.235
0.2346
0.23456
press any key to continue*/#include
int main()
22樓:匿名使用者
%.3f 的意思是輸入小數點之前的三位數,比如說: 12.1234 會輸出:12.123,
0.1236會輸出:0.123 。之後的數字會被直接無語!
你可以用下面的方法(不過這個方法只適合正數,負數就不行了)float a = 1.1235; //保留到小數點後三位float b =(int)((a * 1000) + 0.5) / 1000.
0;//output b = 1.124;
23樓:彤慧利
加個0.5再取整數,如:1.4 0.5取整1;1.5 0.5取整2。
excel中如何設定四捨五入,excel中如何四捨五入
excel如何進行四捨五入?用round函式 round number,num digits number 需要進行舍入的數字。num digits 指定的位數,按此位數進行舍入。要保留的小數位位數 如果 num digits 大於 0,則舍入到指定的小數位。如果 num digits 等於 0,則...
數學四捨五入比五小的要不要減,數學,四捨五入是什麼意思,怎麼理解。
四捨五入是一種精確度的計數保留法,與其他方法本質相同。如果要捨去部分的第一個數比5大或等於5,需要向前進一位,如果捨去部分的第一個數比5小,直接捨去。數學,四捨五入是什麼意思,怎麼理解。在取小數近似數的時候,如果尾數的最高位數字是4或者比4小,就把尾數去掉。如果尾數的最高位數是5或者比5大,就把尾數...
如何用Fix N 和Int N 實現四捨五入取整?用VB,完整的程式
用fix x 0.5 可以對x進行四捨五入,假如有負數用int代替fix,正數用fix效率高 有一個按鈕command1,和一個文字框text1 private sub command1 click text1.text fix text1.text 0.5 end sub int 函式,fix 函...