c語言四捨五入函數
❶ c語言 四捨五入
# incloud <stdio>
int main(void)
{
float a ;
scanf(「%f」,&a);
a=(int)(a*1000+0.5)/1000.0;
printf (「%0.3f」,a);
return 0;
}
(1)c語言四捨五入函數擴展閱讀:
其他方法實現四捨五入:
int myround(double indata,int precision,double * outdata)
{
long pre = 1,i;
for(i = 0; i <precision; i ++)pre = pre * 10;
if(cy_FloatCompare(indata,0.00)> 0)
* outdata =(int)((indata * pre)+0.5)/100.00;
else
* outdata =(int)((indata * pre)-0.5)/100.00;
return 0;
}
// cy_FloatCompare是浮點數與0比較的函數,假設它存在。返回值與strcmp相同。
❷ c語言四捨五入
intmain()
{
floata;
intm;
scanf("%f",&a);
printf("%d",(int)(a+0.5));
return0;
}
❸ c語言中的四捨五入怎麼做
利用取整運算的截斷特點實現。
比如: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
❹ C語言 四捨五入
C,
(int)(x*100+0.5)中x*100就把小數點後兩位移到整數部分了,然後強制轉換為int,再除以float,所以結果為小數點後兩位,其他也可以,不過不是保留兩位小數。
你假設x=123.456
x*100+0.5=12345.6+0.5=12346.1//這里加0.5是為了4舌5入
然後強制轉化成int 為12346
再除以100
結果 為 123.46
這樣就做到了保留到小數點後兩位,並將第3位四捨五入
❺ c語言四捨五入
#include<stdio.h>
main()
{
double a;
printf("清輸入一個小數 ");
scanf("%lf",&a);
a=(int)(a*100+0.5);
a=a/100;
printf("輸出的四捨五入結果是 %.2f",a);
}
這樣就對了,輸入格式有錯