【C语言之四舍五入的巧妙方法】


前言

既有肉身,就注定要承受与生俱来的千般惊扰。 ——余光中

一、方法介绍

四舍五入有很多方法,一是直接调用库函数,二是自己写一个四舍五入的函数,三就是今天要介绍的方法了——乘n除n法

例如88.567,我们要四舍五入保留两位小数的话,可以先乘100,再加0.5,再除以100,也就是(int)(88.567 × 100 + 0.5 )/ 100.0 = (int)(8856.7 + 0.5 )/ 100.0 = 8857 / 100.0 = 88.57

我们可以仔细观察,如果要保留两位小数,那么我们就乘100,把那个需要观察是否大于五的数字放在了末尾,也就是小数点后面。如果大于五,加了0.5便会进一位,再强转为整数,最后除100.0返回原来的样子。

注意:是除以100.0,否则就是整数除法

扩展到所有的保留小数的四舍五入,要保留n位小数,便乘以10的n次方,再强转为整数后加上0.5,最后除以10的n次方即可。

二. 代码展示

//保留两位小数
#include 
using namespace std;
int main(){
    double a,b,c;
    int no;
    scanf("%d;%lf,%lf,%lf",&no,&a,&b,&c);
    a = (int)(a*100+0.5)/100.0;
    b = (int)(b*100+0.5)/100.0;
    c = (int)(c*100+0.5)/100.0;
    printf("The each subject score of  No. %d is %.2lf, %.2f, %.2f.",no,a,b,c);
    return 0;
}

代码运行结果展示
在这里插入图片描述


总结

以上就是利用数学方法巧妙四舍五入的方法啦,只要牢记保留n位小数,便乘以10的n次方,再强转为整数后加上0.5,最后除以10的n次方即可。

以上就是全部内容,如果你觉得有所收获的话,能不能帮小桃子点个赞呢~

我是小桃子,我爱这个世界。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值