DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一. 在编程过程中经常需要格式对齐,这就需要把字符串格式成固定长度:

    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%%",两个百分比前缀代表读取百分号!


posted on 2013-10-13 16:11  DoubleLi  阅读(1132)  评论(0编辑  收藏  举报