c语言,这个%2.2f是什么意思?
%5.2f是输出格式中的%a.bf,表示输出的总长度最大值为5浮点数,并且保留2位小数。
在输出时,如果输出的位数没有大于5位,则按实际位数输出,如果输出的位数大于5,则截取前5位输出,并且小数点是不算位数的。
14.00只有4位输,位数没有大于5位,所以按实际位数输出14.00。
如:
1、“%5d ”要求输出宽度为5,而a值为15只有两位故补三个空格。
2、“%5.4lf”指定输出宽度为5,精度为4,由于实际长度超过5故应该按实际位数输出,小数位数超过4位部分被截去。
3、“%8.4lf ”由于指定精度为4位故截去了超过4位的部分。
4、“%8c ”指定输出宽度为8故在输出字符p之前补加7个空格。
扩展资料
C语言中%5.2f等格式字符串的一般形式为:[标志][输出最小宽度][.精度][长度]类型。(其中方括号[]中的项为可选项)。
1、输出最小宽度
用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
2、精度
精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
3、长度
长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。
参考资料来源:百度百科——printf()
f是float的缩写,6是长度,2是小数保留位数。6.2写与不写对结果没什么影响。其实就是保留两位小数,也可以写成%.2f。
其中2位是小数,即%2%2,右端靠齐.2f指定输出的数据共占2列,%.2f,小数点前位数自动等于小数点后尾数。
【延展】
C语言:
是1972年由美国的Dennis Ritchie设计发明的,并首c语言宣传图 c语言宣传图
[1]次在UNIX操作系统的 DEC PDP-11 计算机上使用。它由早期的编程语言BCPL(Basic Combind Programming Language)发展演变而来,在1970年,AT&T贝尔实验室的Ken Thompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。
首先%f是打印实数数据(float double类型的数据)
n表示有效数字个数,m表示小数点后的位数
2015-11-01 · 知道合伙人教育行家
。你举几个例子看看
这么多回答没有一个有效的,悲哀!
这是运行结果
先说个简单点的:.2f明白什么意思吧?保留2位小数。
比如i =12.34567,如果.4f就是保留4位小数,那么输出值就是12.3457。本来输出值是12.3456,因为四舍五入进一位输出值就成了12.3457。
理解了上面的再来说说%2f,再理解2f之前先来理解一下%4d,只有理解了%4d,2f就很好理解了。举个例子:
int i=1;
printf("i=%4d\n",i);
这是输出结果:
看到没有,i等于四个空格+1即:i= 1。
2f常理,如果把上面的换成float i=1;printf("i=%2f\n",i);运行结果:
这是float类型后面保留有六位小数,因为是6位小数加上”.“再加上”1“就是八位,2f自然是看不出来,如果把2f换成9f效果马上立竿见影。
这是改成9f的效果
i等于1个空格+1+点+6位小数即:i= 1.000000,所以在这里2.2f也好还是.2f也好,区别不大