cout 格式化的一些方法

cout格式化的方式有很多,和C中的printf相比较,在实现方式上更加容易理解。

1、计数进制。

  1、十六进制:hex

  2、八进制:oct

  3、十进制:dec(默认)

  在控制进制的时候,可以使用两种格式:

  (1)hex(cout);  //也可以是oct(cout)或dec(cout)

  (2)cout<<hex;  //也可以cout<<oct;或者cout<<dec

示例代码:

  

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<ctime>
 4 #include<fstream>
 5 #include<ostream>
 6 using namespace std;
 7 
 8 
 9 int main(){
10     const int N =16;
11     //第一种实现方式
12     hex(cout);
13     cout<<"hex:"<<N<<endl;
14     oct(cout);
15     cout<<"oct:"<<N<<endl;
16     dec(cout);
17     cout<<"dec:"<<N<<endl;
18     //第二种实现方式
19     cout<<hex<<"hex:"<<N<<endl;
20     cout<<oct<<"oct:"<<N<<endl;
21     cout<<dec<<"dec:"<<N<<endl;
22 return 0; 
23 }

2、调整子宽

cout.width(int width);      //每次只针对一个项目

示例代码:

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<ctime>
 4 #include<fstream>
 5 #include<ostream>
 6 using namespace std;
 7 
 8 
 9 int main(){
10     //cout<<width(5)<<12<<endl;
11     cout.width(12);
12     cout<<121212121<<endl;
13     return 0; 
14 }

3、填充字符:

cout.fill(char t);       

示例代码:

#include<cstdio>
#include<iostream>
#include<ctime>
#include<fstream>
#include<ostream>
using namespace std;


int main(){
    cout.fill('*');
    cout.width(12);
    cout<<12<<endl;
    return 0;
}

4、设置浮点数精度:

cout.precision(int bit);

示例代码:

#include<iostream>
using namespace std;
int main(){
    cout.precision(2);
    cout<<1.233<<endl;
    return 0;
}

5、打印末尾的0和小数点

cout.setf(ios_base::showpoint);

示例代码:

1 #include<iostream>
2 using namespace std;
3 int main(){
4     cout.setf(ios_base::showpoint) ;
5     cout<<2.<<endl;
6     cout<<2.323<<endl;
7     return 0;
8 }

6、setf()函数的参数(单个参数版本)

(1)ios_base::boolalpha    显示bool类型的string值(true/false)

(2)ios_base::showbase    显示数字基数前缀(八进制前缀0,十六进制前缀0x)

(3)ios_base::showpoint    显示小数点和末尾的0

(4)ios_base::uppercase   对于十六进制数显示大写字母

(5)ios_base::showpos    对于正数显示前面的+号(基数为10时)

 

转载于:https://www.cnblogs.com/dqsBK/p/5346037.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cout是C++中的标准输出流对象,可以用于格式化输出。为了按照一定的格式进行输出,可以使用流操作算子或者成员函数进行控制。使用流操作算子时,可以使用一系列的格式控制符来指定输出的格式。例如,%X可以用于按十六进制输出整数,%.2f可以用于输出浮点数时保留小数点后面两位,setw()可以用于指定输出的宽度等。 需要注意的是,每次使用setw()设置输出宽度时,只会影响下一次的输出。如果需要多次指定输出宽度,需要在每次输出前使用setw()来设置。此外,setw()也可以影响cin在读入字符串时的行为。 以下是一个示例程序,演示了如何使用setw()和流操作算子进行格式化输出: #include <iostream> #include <iomanip> using namespace std; int main() { int num = 123; float f = 3.14159; cout << "Formatted output:" << endl; cout << "Number in hexadecimal: " << hex << num << endl; cout << "Float with 2 decimal places: " << fixed << setprecision(2) << f << endl; cout << "Number with width of 6, left-padded with 0: " << setw(6) << setfill('0') << num << endl; return 0; } 运行这段代码将会输出以下结果: Formatted output: Number in hexadecimal: 7b Float with 2 decimal places: 3.14 Number with width of 6, left-padded with 0: 000123 在上述示例中,我们先使用hex设置输出为十六进制形式,然后使用fixed和setprecision(2)设置浮点数的小数点位数,最后使用setw(6)和setfill('0')设置输出宽度为6,左侧用0填充。通过这些控制符,我们可以实现各种格式化的输出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值