C语言中的F格式符

请各位大侠,给我说明一下,%f这个格式符到底是怎么使用,怎么样去指定要输出的字段长度?还有,如果一个数-789.124,用%4f和%3f输出,会得到什么结果,为什么会那样?
关于我提的那个例子,我也是像一楼,那样想的。但是,我上机实验后,结果并不是那样!而是:两种都输出-789.124023 我再问一下:用%4f时已经足够输出它的整数位,为什么系统还是输出-789.124023?
最新回答
「遺落的星星」

2024-10-14 10:00:05

%f 就是输入输出float类型的格式符,跟%d一样用就可以了. 指定字段长度就是%km.nf这样来用,k是正负号,正可以省略,正表示右对齐,负表示左对齐.

比如说-789.124这个数,一共占8个格子,那么比如%10f,就会左边空两格,然后再输出这个数,%-10f就是先输出这个数,再空两格,然后什么%4f,%3f在这里都没有用,因为这个数有8格,4和3都太小了,它会不空格正常输出-789.12400X,注意小数点后有6位,这是因为float的精度所确定的.然后最后一位误差是不定的,因为计算机硬件原因.所以实际上%10f还是太小了,因为实际上这个数有11位,10无法起到控制格式和空格的作用,10跟不写是一样的,至少%12f才有用.
m就是空格的控制符啦,刚解释过了.
小数点后面的n是精确到几位,比如说%.2f,就是四舍五入保留2位小数.

楼上瞎说...%4f和%3f怎么会把小数省掉!太搞笑了..自己去试试啊~

浮点的%4f的4是包括小数位的~而且这个4是用来做比如表格之类的格式控制,自动输入空格的,不是用来四舍五入舍位数的,如果数据大于4位,那就会直接撑出来,本来多少位,就输出多少位