You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C语言中将数值四舍五入保留一位小数?

解决double类型保留一位小数并四舍五入的问题

方法1:直接通过printf格式控制输出

不用修改原数值,调整printf的格式符就能实现需求。把原代码里的printf("%f", a);改成:

printf("%.1f", a);
  • 输入4.5时,输出4.5
  • 输入4.64时,输出4.6
    这种方式会自动完成四舍五入,同时只保留一位小数输出。

方法2:用<math.h>中的round函数修改数值

<math.h>里的round()函数可以实现四舍五入到整数,通过缩放数值就能保留一位小数:

#include <math.h>

// ...
double rounded_a = round(a * 10) / 10;
printf("%.1f", rounded_a);

原理是先把原数乘以10(将需要保留的一位小数转为整数部分),用round()四舍五入到整数后,再除以10还原数值。之后同样用%.1f格式输出,避免多余小数位。

注意:使用round()需要包含<math.h>头文件,部分编译器编译时可能需要链接数学库(比如GCC需加-lm参数)。

内容的提问来源于stack exchange,提问作者convexhull

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 04:00:00