C语言小数的四舍五入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言小数的四舍五入相关的知识,希望对你有一定的参考价值。

%3.0f是显示格式
3表示整数部分保留3位,超过3位按实际位数显示,少于3位补空格
0表示显示的小数部分,0即表示不显示小数
3也表示宽度
因为支持四舍五入
所以VC编译出是56
参考技术A
56(前面有个空格)
浮点数在舍去后面位的时候,会自动进行四舍五入本回答被提问者采纳

C语言float类型只打印一位小数会自动四舍五入吗

原题是这样的
main()

inta;
charc=20;
float f=110.0;
double x;
a=f/=c*=(x=3.5);
printf("%d %d %3.1f %3.1f\n",a,c,f,x);

其中这个f=110/70=1.5714285714286,如果只保留一位小数的话,是打印1.5还是1.6?
我用VC6.0跑出来的结果是1.6,但是我认为float后面的会自动舍弃掉而不是四舍五入。
请问C语言float类型只打印一位小数会自动四舍五入吗?

printf()函数会根据格式要求,自动对float类型小数进行四舍五入的,比如代码,
//打印float类型,保留小数点后一位
#include <stdio.h>
int main(int argc, char *argv[])

float x=10.46;
printf("x=%.1f\n",x);//x=输出10.5
return 0;


printf()函数会根据格式要求(%.nf)自动对float类型小数进行四舍五入,输出到小数点后面的第n位,第n+1位进行“四舍五入”。
参考技术A 格式串在浮点数上总是四舍五入

刚用不同编译器试验过,验证也是四舍五入的本回答被提问者采纳

以上是关于C语言小数的四舍五入的主要内容,如果未能解决你的问题,请参考以下文章

C语言四舍五入保留两位小数

C语言如何实现在运算过程中的四舍五入保留两位小数

C语言中的保留两位小数四舍五入的问题

C语言 如何实现保留三位小数,第四位四舍五入的程序

c语言中浮点数四舍五入 。 保留一个浮点数小数点后的6位,第3位要四舍五入。如 1.1234.567到1234.570000

用C语言怎么实现浮点数的四舍五入,保留两位小数点