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. SpringCloud-day08-Hystrix断路器

    8.Hystrix断路器 8.1.Hystrix简介 在分布式环境中,许多服务依赖项中的一些必然会失败.Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互. Hys ...

  2. 给统计人讲python(1)模拟城市_数据分析

    为让学校统计学社的同学了解python在数据处理方面的功能,将手游模拟城市的工厂生产进行建模,让同学在建模与处理非结构数据的过程中学习和了解python.将准备的内容放在此让更多需要的人特别是统计人( ...

  3. linux上安装Docker

    https://blog.csdn.net/qq_36892341/article/details/73918672

  4. C# 木马功能的简单实现

    1.首先解决开机启动木马.通过建立开机启动服务达到目的:2.伪装问题.通过c#反射性能,将正常的.net的exe文件添加监控盗传播取等其他功能,执行正常程序同时,后台悄悄释放windows服务,通过服 ...

  5. 使用rke快速安装K8s集群

    操作系统 centos 7.5 yum update -y yum install docker -y 关闭防火墙.selinux 下载rke helm https://github.com/helm ...

  6. 贝叶斯分类器,随机森林,梯度下载森林,神经网络相关参数的意义和data leakage

    构建的每一颗树的数据都是有放回的随机抽取的(也叫bootstrap),n_estimators参数是你想设置多少颗树,还有就是在进行树的结点分裂的时候,是随机选取一个特征子集,然后找到最佳的分裂标准.

  7. pytho命名规范

    1变量小写 多个单词  下划线 2 常量 全大写 3

  8. 52-python 画图二维

    Python--matplotlib绘图可视化知识点整理 1.折线图: import numpy as np import matplotlib.pyplot as plt from pylab im ...

  9. mactype配置

    配合 Firefox 小小设置(改了好多配置,似乎主要是修改了渲染的核心?是叫这个么?把那个Siera?删掉了,就好了)后,效果极佳,我在原有配置的基础上,加大了字重,显示更粗,更明显. 这里是原配置 ...

  10. 跨域的处理方式 JSONP和CORS和反向代理

    什么是跨域? 首先了解同源策略,三个相同,协议,域名端口号相同就是同源,那么三者有任意不同就会造成跨域.跨域不常见,跨域基本上就是访问别人的资源. 如何解决跨域问题? 常见的有三种 一:jsonp处理 ...