前后端分离了,然后呢?(什么前后端分离)
2799
2022-08-16
c语言怎么四舍五入?
生活中,我们经常需要通过四舍五入求近似数,不过需要动脑子,很麻烦,于是我们便想让计算机帮我们代劳,那么今天就给大家说道说道。在C语言中有现成的round()函数,这个函数在头文件math.h头文件中,其返回值是四舍五入整数值,但如果我们想保留几位小数的四舍五入后的近似值这个函数就无能为力了,不过没关系,四舍五入的思路并不复杂,因此也并不难实现。
四舍五入是一种精确度的计数保留法,与其他方法本质相同。但特殊之处在于,采用四舍五入,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一:假如0~9等概率出现的话,对大量的被保留数据,这种保留法的误差总和是最小的。这也是我们使用这种方法为基本保留法的原因。
四舍五入,顾名思义就是若保留最末位下一位的小于或等于4就将末尾的数字舍去,若大于等于5则向前一位进1再将末尾的数字舍去。因此我们可以通过判断保留数字最后一位的下一位来判断是进行“四舍”还是“”五入。但是今天晓影要介绍的是一种更加巧妙在编程中也更加常用的方法。
我们要解决的问题本质上是进位的问题,而C语言在对数据末位的舍去都是直接舍去,所以我们需要的只是在需要进位的时候给前一位进位即可,这里有一个比较巧妙的方法,我们以保留两位小数为例。可写出如下代码:
#include
float Round(float a)
{
float b;
b =(int)((a * 100) + 0.5) / 100.0;
return b;
}
int main()
{
float Pi=3.141592;
printf("%f",Round(Pi));
}
结果如下:
这个方法很巧妙,当保留位数下一位大于等于五再加上五就能满足我们进位的需求,再配合C语言的性质将末尾数字直接舍去就能够实现四舍五入。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~