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 函数。
相关推荐
电子云与长程纠缠20 分钟前
Blender入门学习01
学习·blender
口嗨农民工25 分钟前
SVN冲突处理相关,标识 C 语言源文件(.c)的不同版本或冲突状态
c语言·svn
qiuiuiu4131 小时前
正点原子RK3568学习日志12-注册字符设备
linux·开发语言·单片机·学习·ubuntu
czy87874752 小时前
用C语言实现外观模式
c语言·外观模式
_dindong2 小时前
Linux网络编程:Socket编程TCP
linux·服务器·网络·笔记·学习·tcp/ip
金士顿2 小时前
ethercat网络拓扑详细学习
学习
一匹电信狗2 小时前
【LeetCode_160】相交链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
知识分享小能手3 小时前
uni-app 入门学习教程,从入门到精通,uni-app组件 —— 知识点详解与实战案例(4)
前端·javascript·学习·微信小程序·小程序·前端框架·uni-app
wahkim3 小时前
Flutter 学习资源及视频
学习
小龙报3 小时前
《算法每日一题(1)--- 连续因子》
c语言·开发语言·c++·windows·git·算法·visual studio