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