C++输出格式

C++中默认输出有效位数是6位,即

则输出:

221.11
1.11011
199967 //6位有效数字,自动截取保存六位
1.99967e+006 //六位以上且无法省略显示将会变为指数显示

那么如果需要显示多位,可以通过调整输出格式,那么设置c++输出格式,主要有两种办法:

1、在输入流与输出流中使用控制符

2、用流对象的成员函数控制输出格式

二者有什么区别,用法上呢,第一种就是使用控制符设置输出显示,例如:

cout<<setw(10)<<a<<endl;//设置了输出的宽度为10,多余默认用空格补齐

而第二种,通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式,例如:

cout.width(10)//设置了输出的宽度为10,同样的多余的默认用空格补齐

而值得一提的是,从影响范围上看,笔者原以为第二种调用成员函数将改变全局设置,但是实际上二者都只能影响下一次的输出格式,例,使用控制符:

输出为:

1
  1
1

而,调用输出流对象的成员函数:

输出为:

1
  1
1
1

再来具体看看两种办法的一些用法

1、在输入流与输出流中使用控制符

1)设置宽度setw(n),n即为输出固定宽度,默认以空格填充,如果加上setfill('0')即以‘0’为填充,‘’内可改为其他字符,例如:

输出:

0000000001
*********1

2)设置有效位数setprecision(n),n即为设置位数,例如:

输出:

221.116  //默认六位
221.1161101 //通过设置十位

3)设置小数点后位数,先通过setiosflags(ios::fixed)设置固定小数点的位数,再通过setprecision(n),设置小数点后固定保留n位数

例如:

输出:

221.116    //默认六位
1.100000  //固定6位,空位自动补零
221.116110 //固定六位,后位四舍五入
221.11611012

4)设置为指数形式输出,setiosflags(ios::scientific),同上面设置小数后位数一样,与setprecision连用设置,不常用,不作例证

5)按进制输出,dec为十进制,hex为16进制,而也可以通过setbase(n),直接设置n进制,例如:

输出:

11111
11111
2b67
25547
2b67

2、用流对象的成员函数控制输出格式

用途类似上述,用法稍加改变,类似上文讲解二者区别时的用法;

流成员函数setf和控制符setiosflags括号中的参数表示格式状态,它是通过格式标志来指定的。格式标志在类ios中被定义为枚举值。因此在引用这些格式标志时要在前面加上类名ios和域运算符“::”。格式标志见表13.5。

C++输出格式的更多相关文章

  1. iOS中NSLog输出格式大全

    iOS开发中的输出格式大全: %@                   对象 %d, %i               整数%u                    无符整形%f           ...

  2. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  3. print输出格式总结

    妈的,今天又被printf坑了一回...看来需要一次性总结书所有结果,省的又出现这样那样的麻烦.. #include<stdio.h> #include<string.h> # ...

  4. C(C++)输入输出格式

    c&c++输入输出控制格式 许多情况下,都需要控制输出结果的表现形式.如输出宽度.输出精度.输出格式等.C++的iomanip.h中定义了许多控制符,这些控制符可以直接插入到流中,控制数据的输 ...

  5. <fmt:formatDate>标签的输出格式:

    <fmt:formatDate>标签的输出格式:  d   月中的某一天.一位数的日期没有前导零.      dd   月中的某一天.一位数的日期有一个前导零.      ddd   周中 ...

  6. C语言printf()输出格式大全

    1.转换说明符       %a(%A)     浮点数.十六进制数字和p-(P-)记数法(C99)       %c             字符       %d             有符号十 ...

  7. Printf()输出格式控制(转)

    int printf(const char *format,[argument]); format 参数输出的格式,定义格式为: %[flags][width][.perc] [F|N|h|l]typ ...

  8. iOS开发中NSLog输出格式大全

    本文的内容是总结了一下iOS开发中NSLog输出格式大全,虽然比较基础,但有总结毕竟会各位正在学习iOS开发的朋友们一些小小的帮助. %@                   对象 %d, %i    ...

  9. Yii提供的Htmler助手checkboxList可自定义Checkbox输出格式

    foreach($catetags as $cate){ echo Html::checkboxList('category_id','',$cate,['item'=>'customCheck ...

  10. MapReduce的输入输出格式

    默认的mapper是IdentityMapper,默认的reducer是IdentityReducer,它们将输入的键和值原封不动地写到输出中. 默认的partitioner是HashPartitin ...

随机推荐

  1. k8s之调度约束

    k8s调度约束有两种:第一种,直接指定某台node主机:这种形势将直接跳过调度器.如下: 第二种:先给各node指定标签,然后在通过标签的形势来关联node,这种形势人就会调用到调度器.如下: yao ...

  2. Debian 8 安装Nginx最新版本

    在Debian下如果直接apt-get install nginx直接装发现nginx版本是很旧的,本文主要讲一下如何在Debian 8上装新版的nginx. 原文资料:https://nginx.o ...

  3. 破损的键盘 (Broken Keyboard)--又名悲剧文本(线性表)

     题目: 你有一个破损的键盘.键盘上的所有键都可以正常工作,但有时Home键或者End键会自 动按下.你并不知道键盘存在这一问题,而是专心地打稿子,甚至连显示器都没打开.当你 打开显示器之后, 展现在 ...

  4. mongodb突然出现不是内外部命令或可执行

    可能因为晚上突然停电,电脑突然关机,给mongoDB造成影响,第二天出现了: 通过百度搜索与尝试:https://blog.csdn.net/hh12211221/article/details/78 ...

  5. 刷题的model格式(请用英文)

    [抄题]: [暴力解法]: 时间分析: 空间分析: [优化后]: 时间分析: 空间分析: [奇葩输出条件]: [奇葩corner case]: [思维问题]: [英文数据结构或算法,为什么不用别的数据 ...

  6. MySQL增删改查常用语句命令

    增删改查语句增删改查的语句命令为 增:insert删:delete改:update查:SELECT或者show 库操作创建数据库:create database shujukuba;创建带字符集的数据 ...

  7. centos7下编译安装nginx-1.16.0

    一.下载nginx源码 http://nginx.org/en/download.html 如:nginx-1.16.0.tar.gz 二.创建用户和组,并解压 groupadd www userad ...

  8. boost中Function和Lambda的使用

    :first-child { margin-top: 0px; } .markdown-preview:not([data-use-github-style]) h1, .markdown-previ ...

  9. 00.pt-toolkit 目录

    一. 好用便利的工具,常用 pt-align 对齐文本格式pt-archiver 循序渐进的归档表,删除表,迁移数据pt-config-diff 对比不同配置文件.服务器配置参数pt-diskstat ...

  10. Springboot & Mybatis 构建restful 服务

    Springboot & Mybatis 构建restful 服务一 1 前置条件 jdk测试:java -version maven测试:命令行之行mvn -v eclipse及maven插 ...