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 函数。
相关推荐
0566467 小时前
Python康复训练——常用标准库
开发语言·python·学习
0566467 小时前
Python康复训练——控制流与函数
开发语言·python·学习
caishenzhibiao8 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
早睡早起身体好1239 小时前
为什么 Network 中会出现两个同名请求?——CORS 预检请求学习笔记
网络·笔记·学习·网络安全
菩提树下的打坐9 小时前
测试左移的更深一层:用 DDD 战术设计反推测试边界
学习
casual~10 小时前
模逆元计算方法详解:扩展欧几里得算法与费马小定理
学习·算法·逆元
@Mike@10 小时前
06-数据库学习笔记(存储模型与数据压缩)
数据库·笔记·学习
我的xiaodoujiao11 小时前
快速学习Python基础知识详细图文教程14--模块
开发语言·python·学习·测试工具
wdfk_prog11 小时前
嵌入式面试真题学习笔记系列
笔记·学习·面试
懿路向前11 小时前
【HarmonyOS学习笔记】2026-07-30 | 小艺开放平台智能体接入实战
笔记·学习·harmonyos