一. 在编程过程中经常需要格式对齐,这就需要把字符串格式成固定长度:
1: C++提供了setiosflags()来设置输出格式,setw(int)设置输出宽度:
cout<<setiosflags(ios::left)
<<setw(10)<<"字段1"
<<setw(10)<<"字段2"
<<setw(10)<<"字段3"<<endl;
cout<<setiosflags(ios::left)
<<setw(10)<<"value1"
<<setw(10)<<"value2"
<<setw(10)<<"value3"<<endl;
2.利用格式化也可以实现:
printf("%-10s%-10s%-10s","value1","value2","value3");
说明: %s: 输出字符串
%10s: 输出固定长度为10的字符串 默认右对齐
%-10s: 输出固定长度10的字符串 左对齐;
CString::Format()的格式化方式跟printf一样.
二. 格式化固定小数位
printf("%.3f%.4f%.5f","value1","value2","value3");
说明: 在位数前面加点,表示需要格式化多少位小数点数;上面范例分别表示取3位,4位,5位小数点值.
三. 格式化字符串里显百分号
在进行数据处理时很多时候会涉及到百分比数,如: 99.86%;要在格式化字符串时把后面的一齐添加上去,"%.2f%"这样是不行的!格式化的时候都是以%为前缀,这样就会有两个前缀,而后续的参数只有一个,就会造成格式化错误!正确的语法应该是: "%.2f%%",两个百分比前缀代表读取百分号!