• C++输出四舍五入的一些小问题


    嗯…今天刚去练了一会简单题
    就我大一刚上学做的那种题,嗯,然后我发现我还是得调试,想骂人了,就啥样的题呢,
    在这里插入图片描述
    嗯,就这样的题,虽然我大一可能也过不了这种题,hh
    现在题目里面要求一些四舍五入的问题
    刚才没整明白,试了一下才好像有点明白咋回事了
    对于%d的输出时,你是只能给他那个int型数据的,给他浮点数,就会输出来一些乱七八糟的数,这个就从机器码的角度来考虑,并没有啥,所以对于浮点数只能先用int截断,注意,这里的截断是真的截断,就是比如说这个,6.23这种数,截断完了之后就是6,6.345这种数截断完了之后就是6,没有四舍五入啥的,想给他四舍五入的话,你就加一个0.5,上到整数位就可以了
    比如说

    (int)(6.549+0.5)
    
    • 1

    这样输出出来就是7
    而对于

    6.459+0.5
    
    • 1

    输出出来就是6,四舍五入嘛
    接下来我们来看浮点数的四舍五入
    你现在已经有一个浮点数了,我们想给他四舍五入的输出出来,我还是沿用上面的办法,给我的浮点数加一个0.005(这里面要求两位小数)
    然后要求输出两位嘛,我就来一个.2lf输出
    结果答案错误
    后来我发现了一个神奇的事情,对于6.5456,%.2lf输出之后是6.55,(他自己就会四舍五入了,真是神奇
    然后又因为我自己给他加了一个0.005,结果变成可能是小数点后第三位是1,我给加了5之后就变成6了,得
    放了几个例子,大家试试⑧

    printf("%d",(int)(9.8765+0.5));
    
    • 1
    printf("%.2lf",6.455);
    
    • 1
    printf("%.2lf",6.451+0.005);
    
    • 1
  • 相关阅读:
    记录C++类中的一次函数调用
    GPU架构变迁之AI系统视角:从费米到安培
    数据结构第一课 —— 时间和空间复杂度
    上周热点回顾(2.26-3.3)
    git命令的操作
    sublime text 显示空格
    【博客458】BGP(边界网关协议)-----状态机
    地下水深度去除铁锰的滤料详解
    Docker--harbor私有仓库部署与管理
    数码相机raw照片编辑Capture One Pro中文
  • 原文地址:https://blog.csdn.net/weixin_52205764/article/details/128164546