生活中,我们经常需要通过四舍五入求近似数,不过需要动脑子,很麻烦,于是我们便想让计算机帮我们代劳,那么今天就给大家说道说道。在C语言中有现成的round()函数,这个函数在头文件math.h头文件中,其返回值是四舍五入整数值,但如果我们想保留几位小数的四舍五入后的近似值这个函数就无能为力了,不过没关系,四舍五入的思路并不复杂,因此也并不难实现。
四舍五入是一种精确度的计数保留法,与其他方法本质相同。但特殊之处在于,采用四舍五入,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一:假如0~9等概率出现的话,对大量的被保留数据,这种保留法的误差总和是最小的。这也是我们使用这种方法为基本保留法的原因。
四舍五入,顾名思义就是若保留最末位下一位的小于或等于4就将末尾的数字舍去,若大于等于5则向前一位进1再将末尾的数字舍去。因此我们可以通过判断保留数字最后一位的下一位来判断是进行“四舍”还是“”五入。但是今天晓影要介绍的是一种更加巧妙在编程中也更加常用的方法。
我们要解决的问题本质上是进位的问题,而C语言在对数据末位的舍去都是直接舍去,所以我们需要的只是在需要进位的时候给前一位进位即可,这里有一个比较巧妙的方法,我们以保留两位小数为例。可写出如下代码:
#include<stdio.h> 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语言的性质将末尾数字直接舍去就能够实现四舍五入。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/8949/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取