请教C语言高手,以%f形式输出float型的数据,在屏幕上的位数怎么确定?

是不是和编译系统有关?

如果就是以%f输出的话,一般编译系统输出六位小数.
如果你在前面加上数字,例如
float a;
a=3.52;
printf("a=%7.3f",a);
的运行结果为a= 3.520
%7.3f即输出3位小数,整个数字占7位,如上述程序3.520共5位数字,前面补两个空格.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-25
在f前面加数字
比如 %6.2f意思就是输出的数字一共占6位,小数点后占2位。
第2个回答  2010-04-25
%f默认输出包括小数点“.”一共是8位

请教C语言高手,以%f形式输出float型的数据,在屏幕上的位数怎么确定?
如果就是以%f输出的话,一般编译系统输出六位小数.如果你在前面加上数字,例如 float a;a=3.52;printf("a=%7.3f",a);的运行结果为a= 3.520 7.3f即输出3位小数,整个数字占7位,如上述程序3.520共5位数字,前面补两个空格.

c语言%f输出float型数据的四舍五入问题
需要注意,%f如果没有规定长度或小数位数的话,就是输出6位小数 不论对应的数是什么类型,都输出6位小数 因为你的x是4位小数,少于6位 所以会在后面加两位小数补齐,至于那两位数是什么,要看后面的内存单元中存的是什么 (C语言会出现意外的内存访问,这点很不好)也就是说 这不是什么四舍五入...

C语言 为什么以%f输出,默认输出6位小数?
这是因为,float类型的精度,只能保证前6位是绝对精确的,到第7位有可能是精确的,有可能是近似值。所以,在设计的时候,打印浮点数就是默认六位了。超过6位输出不精确值,意义不大。 第七位不精确的情况下,第八位完全没意义。少于六位,又减少了有效位数。至于float为什么是6位准确值,可以自己研...

C语言中如何确定输入的float型的小数点位数?
输入后,十进制数变2进制。十进制小数 化 2进制小数 常常 化不尽,所以用 大于小于来判断float型是否正好大于小于某数值是困难的。\\x0d\\x0a简单办法是用字符串方法读入,直接判断字符串。\\x0d\\x0afloat i;\\x0d\\x0achar str[32];\\x0d\\x0aint j,L;\\x0d\\x0ascanf("%s",str);\\x0...

用C语言浮点数格式输出到屏幕上要注意什么啊
C语言中浮点数输出精确到两位小数的语句如下:double a=2.0;printf ("%.2f", a);\/\/其中.2指明两位小数 说明:如%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,如果9缺省则场宽为该数实际位数 规定符 d 十进制有符号整数 x, %X 无符号以十六进制表示的整数 o 无符号以八...

c语言printf输出float数据的问题
printf输出实型数据的时候,%f默认输出,实型数据的小数位数是6位 x是用于,以十六进制形式,输出整数 而这里,num是实数,所以类型不匹配,输出0

c语言输出浮点数的格式是什么?
C语言中,输出浮点数的格式可以使用格式控制符%f来实现。%f格式控制符用于输出一个浮点数,可以指定输出的小数位数。例如:在这个例子中,我们首先定义了一个浮点型变量num并初始化为3.14159。然后,我们使用%.2f格式控制符将num的值输出,并指定输出的小数位数为2。运行上述程序,输出结果:num = 3.14...

在C语言中%f的输出形式指的是什么?保留6位还是7位小数?
f :以浮点型数据形式输出,浮点型也就是实数。一共保留6位小数。

C语言中如何确定输入的float型的小数点位数?
输入后,十进制数变2进制。十进制小数 化 2进制小数 常常 化不尽,所以用 大于小于来判断float型是否正好大于小于某数值是困难的。简单办法是用字符串方法读入,直接判断字符串。float i;char str[32];int j,L;scanf("%s",str);sscanf(str,"%f",&i);L = strlen(str);然后查找小数点,for (...

c语言中float 单精度实型变量数据长度为32位,但为什么%f格式输出时...
单精度的32位中包括符号位,指数位,除了这两部分,就只有16位了,对于32位操作系统来说,单精度其实没有整数的精度高

相似回答