目录

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

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

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

https://i-blog.csdnimg.cn/direct/3ada6fca9284410c96d0b63f036398a5.jpeg

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

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

https://i-blog.csdnimg.cn/blog_migrate/af9097072f892cb793d19e98fdc0c81c.png

示例 1: 🌰

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

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

示例 2: 🌰

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

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

示例 3: 🌰

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

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

注意事项 ⭐️

https://i-blog.csdnimg.cn/direct/25add7306b6d4bf8ae0640c1341f289a.jpeg

1、四舍五入规则:🍭

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

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

2、负数的情况:🍭

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

https://i-blog.csdnimg.cn/blog_migrate/af9097072f892cb793d19e98fdc0c81c.png

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

3、精度问题:🍭

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

https://i-blog.csdnimg.cn/blog_migrate/af9097072f892cb793d19e98fdc0c81c.png

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

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

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

总结 ⭐️

https://i-blog.csdnimg.cn/direct/f237edf655fb4b6592c464d8050d3188.jpeg

  • %.0f 会对浮点数进行四舍五入,并保留 0 位小数。
  • 如果需要更精确的四舍五入,可以使用 round 函数。

https://i-blog.csdnimg.cn/direct/c7d5103629e34dc691ec0ec59718ab74.jpeg