printf函数全称是格式化输出函数,具有强大的格式化输出功能。
小数点对齐只是小事一桩。
通常意义上format的格式如下:
%[flags][width][.prec][F|N|h|l]type
其中的width和prec就是控制小数点位置的。
width
用于控制显示数值的宽度,取值和含义如下:
n(n=1,2,3...): 宽度至少为n位,不够以空格填充。
* 格式列表中,下一个参数还是width
width是一个可选的指定最小值字段宽度的十进制数字字符串。如果转换值字符少于字段宽度,该字段将从左到右按指定的字段宽度填充。如果指定了左边调整选项,字段将在右边填充。如果转换结果宽于字段宽度,将扩展该字段以包含转换后的结果。不会发生截断。然而,小的精度可能导致在右边发生截断。
prec
用于控制小数点后面的位数,取值和含义如下:
无按缺省精度显示0
当type=d,i,o,u,x时,没有影响;
type=e,E,f时,不显示小数点
n(n=1,2,3...)
当type=e,E,f时表示的最大小数位数;
type=其他,表示显示的最大宽度
prec是指可选的精度。精度是一个 .(点)后跟十进制数字字符串。如果没有给出精度,按 0(零)对待。精度指定:
* d、o、i、 u、x 或 X 转换的最少数字显示位数。
* e 和 f 转换的基数字符后的最少数字显示位数。
* g 转换的最大有效数字位数。
* s 转换中字符串的最大打印字节数目。
例如:
printf( "%15.3f\n", 1.2345);
printf( "%15.3f\n", 23.456);
printf( "%15.3f\n", 345.67);
显示结果:
1.235
23.456
345.570