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 函数。
相关推荐
embedded_w1 小时前
U8G2在PC端模拟(C语言版本)
c语言
Angindem1 小时前
SpringClound 微服务分布式Nacos学习笔记
分布式·学习·微服务
虾球xz2 小时前
游戏引擎学习第244天: 完成异步纹理下载
c++·学习·游戏引擎
BOB-wangbaohai2 小时前
Flowable7.x学习笔记(十四)查看部署流程Bpmn2.0-xml
xml·笔记·学习
矛取矛求2 小时前
C++区别于C语言的提升用法(万字总结)
c语言·c++
keep intensify2 小时前
通讯录完善版本(详细讲解+源码)
c语言·开发语言·数据结构·算法
先生沉默先2 小时前
c#接口_抽象类_多态学习
开发语言·学习·c#
豆芽8192 小时前
图解YOLO(You Only Look Once)目标检测(v1-v5)
人工智能·深度学习·学习·yolo·目标检测·计算机视觉
友善啊,朋友2 小时前
《普通逻辑》学习记录——性质命题及其推理
学习·逻辑学
xueyinan3 小时前
小刚说C语言刷题——1565成绩(score)
c语言