c++输出

2017-12-17  本文已影响13人  uuu0

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

引用c++primer plus 一书

调整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()函数类似,新的精度设置将一直有效,直到被重新设置。

上一篇下一篇

猜你喜欢

热点阅读