C++学习笔记1(扩充:C++中的格式控制)

  前一章,我们了解了再C++中的标准的输入输出问题,那么肯能就有人会问了再C语言中我们可以灵活的控制输出和显示,那么再再C++中可以实现吗?我的回答是当然可以的,只不过再C++中的控制可能相比较而言要比再C++语言中的繁琐一点,那么我们就先来看看最C++中的格式控制(以下所有资料均来自与http://www.cplusplus.com):

     1、基数设置方法:

    dec  10进制数  相当于%d

    hex  16进制数  相当于%x

    oct  8进制数   相当于%o

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main(int argc, char **argv)
 6 {
 7     int val = 100;
 8     cout << "dec: " << dec << val << endl;
 9     cout << "hex: " << hex << val << endl;
10     cout << "oct: " << oct << val << endl;
11     return 0;
12 }

View Code

  输出结果为:

dec: 100
hex: 64
oct: 144

  2、浮点数的格式控制

  setprecision(n)                     设置显示小数精度为n位

  setiosflags(ios::fixed)             固定的浮点显示

   setiosflags(ios::scientific)        指数表示

  setiosflags(ios::left)              左对齐

  setiosflags(ios::right)             右对齐

 1 #include <iostream>
 2 using namespace std;
 3 #include <iomanip>
 4 
 5 int main(int argc, char **argv)
 6 {
 7     double dv = 123456.654321;
 8     
 9     cout << "dv的默认输出: " << dv << endl;
10     cout << "dv指定为浮点数输出" << setiosflags(ios::fixed)
11                                 << dv << endl;
12     cout << "dv指定为浮点数输出,并保留两位小数" << setiosflags(ios::fixed)
13                                     << setprecision(2) << dv << endl;
14     cout << "dv指定为指数形式输出(默认保留5位小数):" << setiosflags(ios::scientific)
15                                     << dv << endl;
16     cout << "dv指定为指数形式输出,并保留10位小数" << setiosflags(ios::scientific)
17                                     << setprecision(10) << dv << endl;
18     cout << setiosflags(ios::left) << setprecision(5) << dv << endl;
19     cout << setiosflags(ios::right) << setprecision(6) << dv << endl;
20     return 0;
21 }

View Code

输出结果为:

1 dv的默认输出: 123457
2 dv指定为浮点数输出123456.654321
3 dv指定为浮点数输出,并保留两位小数123456.65
4 dv指定为指数形式输出(默认保留5位小数):1.2e+05
5 dv指定为指数形式输出,并保留10位小数123456.6543
6 1.2346e+05
7 123457

View Code

setw(n)                             设置域宽为n个字符

setfill(char);           设置填充字符

 1 #include <iostream>
 2 using namespace std;
 3 #include <iomanip>
 4 
 5 int main(int argc, char **argv)
 6 {
 7     int val = 100;
 8     double pi = 3.14;
 9     
10     //输出宽度为10,左对齐,不足就填充‘*’
11     cout << "val: " << setw(10) <<setiosflags(ios::left) 
12                             << setfill('*') << val << endl;
13     //输出宽度为10,右对齐,不足就填充‘*’
14     cout << "pi: " << setw(10) << setiosflags(ios::right) 
15                             << setfill('*')<< pi << endl;
16     return 0;
17 }

View Code

关于C++中的格式控制就先说道这儿,当然除了我们上边提到的还有很多格式控制方法,具体就有待大家去查询了。

 

 


转载于:https://www.cnblogs.com/cppys/p/6632481.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值