C语言float类型只打印一位小数会自动四舍五入吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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类型只打印一位小数会自动四舍五入吗?
//打印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语言float类型只打印一位小数会自动四舍五入吗的主要内容,如果未能解决你的问题,请参考以下文章