2025-03-15 学习记录--C/C++-C语言 %.0f的使用和round函数(实现四舍五入)

C语言 %.0f的使用 ⭐️

%.0f 在格式化输出时会 对浮点数 进行四舍五入,并保留 0 位小数

  • %f 是格式化输出浮点数的占位符。
  • .0 表示保留 0 位小数。
  • 在保留 0 位小数时,printf 会对小数部分进行四舍五入,然后只输出整数部分。


示例 1: 🌰

c 复制代码
double x = 12.49;
printf("%.0f\n", x);  // 输出 12

12.49 的小数部分是 0.49,小于 0.5,因此四舍五入后输出 12

示例 2: 🌰

c 复制代码
double x = 12.50;
printf("%.0f\n", x);  // 输出 13

12.50 的小数部分是 0.50,等于 0.5,因此四舍五入后输出 13

示例 3: 🌰

c 复制代码
double x = 12.51;
printf("%.0f\n", x);  // 输出 13

12.51 的小数部分是 0.51,大于 0.5,因此四舍五入后输出 13

注意事项 ⭐️

1、四舍五入规则:🍭

小数部分 小于 0.5 时,向下舍入

小数部分 大于或等于 0.5 时,向上舍入

2、负数的情况:🍭

对于负数,四舍五入规则同样适用。

c 复制代码
double x = -12.49;
printf("%.0f\n", x);  // 输出 -12
c 复制代码
double x = -12.50;
printf("%.0f\n", x);  // 输出 -13

3、精度问题:🍭

浮点数在计算机中是以二进制形式存储的,可能存在精度问题。

c 复制代码
double x = 0.5;
printf("%.0f\n", x);  // 输出 0(可能因为精度问题导致四舍五入错误)

如果需要更精确的四舍五入,可以使用 round 函数:

c 复制代码
#include <math.h>
double x = 0.5;
printf("%.0f\n", round(x));  // 输出 1

总结 ⭐️

  • %.0f 会对浮点数进行四舍五入,并保留 0 位小数。
  • 如果需要更精确的四舍五入,可以使用 round 函数。
相关推荐
顾鉴行思12 分钟前
10 字符串常量到底存在哪里?
c语言·汇编·经验分享
zhangrelay25 分钟前
云课实践速通系列-基础篇汇总-必修-通识基础和专业基础-2026--工科--自动化、电气、机器人、测控等
linux·笔记·单片机·学习·ubuntu·机器人·自动化
计算机安禾27 分钟前
【计算机网络】第5篇:网桥学习与生成树算法——环路拓扑中的路径收敛问题
学习·计算机网络·算法
知识分享小能手1 小时前
R语言入门学习教程,从入门到精通,R语言局部整体型数据可视化(10)
学习·信息可视化·r语言
Aurorar0rua1 小时前
CS50 x 2024 Notes C - 09
c语言·开发语言·学习方法
承渊政道2 小时前
【动态规划算法】(完全背包问题从状态定义到空间优化)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
玩转单片机与嵌入式2 小时前
学习嵌入式AI(TInyML),只需掌握这点python基础即可!
人工智能·python·学习
ErizJ2 小时前
Linux|学习笔记
linux·笔记·学习
相醉为友2 小时前
040 Linux/裸机/RTOS 项目开发的跨平台兼容性——C语言静态接口抽象底层原理分析
linux·c语言·mcu
大数据三康2 小时前
Java字符统计:从输入到输出的完整解析
java·学习·循环结构