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函数。
