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

2018-06-17 22:59:17来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  前一章,我们了解了再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++中的格式控制就先说道这儿,当然除了我们上边提到的还有很多格式控制方法,具体就有待大家去查询了。

 

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:中缀表达式值

下一篇:字符串匹配问题