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;

}

扩展资料

其他方法实现四舍五入:

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相同。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-11-16
利用取整运算的截断特点实现。\x0d\x0a比如:int a=0.75;取整后赋值给a的是0,小数点后面的被截断了。\x0d\x0a如果要做整数的四舍五入,那么可以:a=(int)(0.75+0.5);取整后得到的与数学中四舍五入的结果一致,都是1;\x0d\x0a如果要进行小数点后面的四舍五入,可以这样计算:\x0d\x0a要保留小数点后面两位的小数,即在小数点后面两位上做四舍五入,0.756\x0d\x0afloat a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100;\x0d\x0a运算是这样的:先将0.756乘以100,得到75.6,然后利用取值运算的截断做四舍五入,75.6+0.5=76.1取整后等于76,再除以100,得到结果:0.76

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网