c语言的float舍入规则,C语言实现舍入

5ADC08998B6ACD36F2D931387250A540.jpg

舍入用C语言实现:

(int)(a + 0.5)很好.

巧妙地使用了舍入规则.

无需导入math.h

还要注意负数的情况.

8-810-jpg_6-1080-0-0-1080.jpg

用-替换+.

float f =…..;

int i =(int)(f + 0.5);

i是四舍五入的结果.

今天,我将介绍用C语言进行数据舍入的算法.

8f2a22c430535b50e5efa83bfd514882.png

我们知道,用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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值