C++之格式化输出-创新互联

每个输出流都有 precision 成员函数,一旦为某个输出流调用了 precision 函数,向该流输出带小数点的数字时候,要么总共保留两位有效数字,要么在小数点之后保留两位,具体实现方式由编译器决定。precision函数只对指定的流生效。

创新互联建站技术团队十余年来致力于为客户提供成都网站设计、成都做网站、品牌网站建设成都全网营销推广、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了成百上千家网站,包括各类中小企业、企事单位、高校等机构单位。

 setf 成员函数是set flags的缩写,不是set format的缩写!是以二选一的方式来做一件事情的指令。

ios::fixed  标志导致 流 采用 定点计数法 来输出double类型的数字,而不是用采用 e记数法

ios::showpoint 标志要求 流 总是在 浮点数 中包含小数点。

ios::scientific 标志会用 e记数法 输出数字。

ios::showpos 标志正整数前会输出 + 号

ios::right标志如果使用,同时使用了 width 指定了域宽,输出的下一项会采用 右对齐。默认为此项

ios::left标志如果使用,同时使用了 width 指定了域宽,输出的下一项会采用 左对齐

 width 成员函数用来设置 域宽。例如:

    cout << "a";    
    cout.width(4);
    cout << 7 << endl;

 则输出 a  7。a与7之间有3个空格,因为系统默认是设置 ios::right 右对齐。

 注意 width 成员函数只适应于下一个要输出的项,如果要输出多个项,要调用多次width,如果嫌麻烦,可以使用流操纵元 setw。

 设置的任何标志都可以取消设置,通过调用 unsetf 成员函数即可取消设置,例如:

    cout.unsetf(ios::showpos);

 即可取消正整数前面显示 + 号。

 setw 和 setprecision 操纵元。

  操纵元是以非传统的方式调用的函数。操纵元位于插入操作符 << 之后。两个操纵元均在 iomanip 库中,要想使用,需要调用该库。

 setw 操纵元和 width 成员函数作用一样,要想多次设置域宽,需要调用多次 setw 操纵元。实际上,setw 操纵元就是调用了 width 成员函数。如下代码:

    cout << "a" << set(5) << 1    
                << set(5) << 2
                << set(7) << 3 << endl;

该语句输出为:a   1   2    3。其中 1、2 前面有4个空格,3 前面有 6 个空格。

 setprecision 操纵元和 precision 成员函数功能一样。如下代码:

    cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout << "a" << setprecision(2) << 1.2
                                 << 2.3 << endl;

 setprecision 操纵元与 precision 成员函数一样,设置之后一直生效。上例输出结果:1.20 2.30。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:C++之格式化输出-创新互联
路径分享:http://myzitong.com/article/dpddho.html