可以用%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的输出方式是有用的,如果输出形式是小数,则表示数据适中;如果是指数,则表示数据很大或很小。
本文详细介绍了C/C++中格式化字符串%m.pX的使用,涉及最小字段宽度、精度的概念,通过实例解析了整型、浮点型和指数形式的格式设置。深入理解了如何设置字符宽度和小数精度,是程序员必备的格式化技巧。
2968

被折叠的 条评论
为什么被折叠?



