索千 2022-11-29 20:53 采纳率: 74.4%
浏览 9
已结题

这四舍五入的原理是什么?

我不理解它的实现,希望能帮我解释一下,如果换另外一种写法该如何写?

img

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-11-29 20:57
    关注

    换一种写法就是直接把第7行删掉。printf本来就会四舍五入的。
    第7行的逻辑就是先将浮点数乘以100,然后加上0.5,确保第三位小数如果大于0.5的话,能够进1,然后强制转换为int,将第三位小数值后的值清理掉,再除以100就只有两位有效小数了
    比如123.4464,乘以100就是12344.64,加0.5就是12345.14,取整后卫12345,除以100.0后是123.45

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月14日
  • 已采纳回答 12月6日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥15 有关于推荐系统jupyter
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据
  • ¥15 关于树的路径求解问题
  • ¥15 yolo在训练时候出现File "D:\yolo\yolov5-7.0\train.py"line 638,in <module>
  • ¥30 戴尔inspiron独显直连