本文主要是介绍c语言的float舍入规则,C语言实现舍入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
舍入用C语言实现:
(int)(a + 0.5)很好.
巧妙地使用了舍入规则.
无需导入math.h
还要注意负数的情况.
用-替换+.
float f =…..;
int i =(int)(f + 0.5);
i是四舍五入的结果.
今天,我将介绍用C语言进行数据舍入的算法.
我们知道,用C语言删除小数位的方法是强制转换为整数类型. 因此,如果我们想保留三个小数位作为小数位,而第四个小数位则符合四舍五入规则c语言四舍五入,
如何实现?非常简单我们将数字扩展1000倍,以便将小数点后第四位称为新数字的第一位,然后可以对其加0.5并执行强制转换. 添加0.5的原因是:
如果该小数位的值大于5,则加0.5可以达到进位效果,如果小于0.5,则没有进位效果. 这样,可以实现小数点后的舍入. 然后我们将调整该值
进行强制转换,然后将其设置为1000.0(请记住,必须为1000.0,否则将进行隐式转换),并在输出中使用%0.3f来实现小数点后三位.
# include
int main(void) {
float a;
scanf("%f", &a);
a = (int)(a*1000+0.5)/1000.0;
printf("%0.3f", a);
return 0;
}
有一个可以直接调用的圆形函数,
回合(x)
该参数是双精度类型,它将小数的舍入值返回整数部分
例如c语言四舍五入,round(3.623);返回4
使用C语言保留两位小数: 提示
①
float a = 3.456; //保留两位小数位
float b =(int)((a * 100)+ 0.5)/ 100.0;
输出结果为3.46
高精度
②
float a = 23.456789;
printf(“%. 2f”,a); //输出为23.45
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-289598-1.html
这篇关于c语言的float舍入规则,C语言实现舍入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!