如何用C语言对实数四舍五入 ?? 谢谢各位了

来源:百度知道 编辑:UC知道 时间:2024/05/12 06:38:17

比如对小数点后第一位四舍五入,最简单的方法是(int)(实数 + O.5)。
第二位的话(实数*10 + O.5)/10.0。
但是负数要特别考虑。

结合例子说明jgr=(int)(((int)(jgread*100+0.5)/100.0)*100);
将a=1.364保留两位小数,第三位四舍五入。
#include "stdio.h"
main()
{
float a=1.346;
a=((int)(a*100+0.5))/100.0;
printf("%f",a);
}

思路是:如上,对小数点后第三位四舍五入,那么你给该数加上0.005,这样,如果第三位大于5,那么它会入上去一位,如果第三位小于5,那么它就不会进位。上面代码a=((int)(a*100+0.5))/100.0;就是经行了这样的操作。将a乘100,变为134.6,然后加0.5,由于小数为6,那么加5后进位,实现了五入。然后取整将其余小数舍去,在除以100.0,还原为原来大小。

float a;
int b;
给a赋值后,
b = a + 0.5;

b得到的结果就是四舍五入后的结果。

因为float型给int型赋值,会直接取整,+0.5后,就实现了四舍五入