可以用%m.pX 格式 或 %-m.pX格式;m和p均是可更改的变量,均可省略(注意,如果省略p,小数点也要省略),X表示转换的格式(%d整型,%f浮点型等)
具体怎么理解?
在这里要引入两个概念:最小字段宽度和精度
最小字符宽度:m指定了显示时的最小字符数量,如果字符数量大于m,则自动扩充;如果小于m,则会自动补空格,其中%m表示右对齐,%-m表示左对齐;
举个例子:
printf("xxxxxx\n");
printf("%6d\n", 1234567);
printf("%6d\n", 123);
printf("%-6d\n", 123);
//输出结果
//xxxxxx
//1234567
// 123
//123
精度P:精度与转换格式X有关;
举个例子:
d——十进制,p表示显示的最少字符数,如果不写,p默认为1;
printf("XXXXXX\n");
printf("%4.3d", 22);
//一共4个字符,显示三个,剩下一个补0
//输出结果
//XXXXXX
// 022
e——指数形式(科学计数法),p表示小数点后应该出现的小数,默认值为0;
printf("%.2e\n", 1.2);
printf("%e\n", 1.2);
//输出结果
//1.20e+00
//1.200000e+00
f——小数的表示形式,p表示小数点后的位数;
printf("%.5f\n", 1.2);
//输出结果
//1.20000
g——指数形式或小数形式,根据数的大小自动选择;当不知道数的大小时,选择%g的输出方式是有用的,如果输出形式是小数,则表示数据适中;如果是指数,则表示数据很大或很小。