c++输出

作者: uuu0 | 来源:发表于2017-12-17 16:57 被阅读13次

    c++输出(调整cout输出进制width()函数的使用)

    引用c++primer plus 一书

    调整cout输出数据的进制问题:

    • 类是从ios类派生出来的,而后者是从ios_base类派生出来的。ios_base类储存了描述格式状态的信息

    • 十进制 十六进制 八进制 可以用dec,hex,oct控制符。
      cout输出默认是十进制输

    下面的函数调用将cout对象的技术系统格式设置为十六进制:
    hex(cout);
    cout<<hex;

    -// C/C++里面只能支持八、十、十六进制三种
    数字型常量。

    如果真的需要的话,那么只能靠std::bitset来完成,通过调用参数为std::string的构造函数就可以把二进制变成bitset,然后用bitset::to_ulong就可以了
    

    调整字段宽度

    可以使用width成员函数将长度不同的数字放到宽度相同的字段中,该方法的原型:

    1. int width(); 第一种格式返回字段的当前设置;
      2.int width(int i); 第二种将字段宽度设置为i空格,并返回当前的字段宽度值。(只影响下一个接下来的显示的的一个项目)

    cout<<"#";;
    cout.width(12); //因为width()是成员函数,使用的时候必用对象来调用它(这里是cout)来调用。
    cout<<"$"<<endl;
    cout<<12<<"$"<<24<<"$"<<endl;

    $ 12$24$


    图片.png

    c++永远不会截断数据,因此如果尝试在宽度为2的字段中打印一个7位的值,c++将增宽字段,以用来容纳数据

    填充字符

    在默认情况下,cout用空格填充字段中未被使用的部位,可以使用fill()成员函数来改变填充的字符。

    cout.file('*');

    设置浮点数的显示精度

    浮点数精度的含义取决于输出模式。默认情况下,他指的是显示的总位数。精度指的是小数点后的位数。(c++d默认精度为6位,但末尾的0将不显示。如果想要显示末尾的0则需要使用setf(ios_base::showpoint)函数。)

    cout.percison(int i);

    使用情况和width的情况不同 和fill()函数类似,新的精度设置将一直有效,直到被重新设置。

    相关文章

      网友评论

          本文标题:c++输出

          本文链接:https://www.haomeiwen.com/subject/muoywxtx.html