C++中关于cout相关的输出格式(操作流算子)
这边需要注意的是如果使用到setpercision,一定要引入iomanip头文件,否则编译会出错
注意以下的操作流算子都是在头文件iomanip中定义的,强烈建议使用的时候引入改头文件否则可能会出现错误
默认情况下使用的算子(也可以理解为没有使用任何算子的时候输出遵循的规则)
dec:以十进制输出整数
right:右对齐,如果宽度不够的时候,将填充字符添加到右边(该句子的意思就是,一般情况下左右对齐是与setw一起配套使用的,否则左右对齐难以体现出来,此时通过setw设置最小的输出字段,如果此时输出的字段的长度小于最小的字段输出长度,那么填充字符就是在左边进行填充,反之左对齐就是在右边进行填充)
这边需要注意主要设置一次之后,后面的输出方式就是设置的方式了,除非再次通过算子进行修改,否则不会变化
nobooolalpha:true和false输出为0,1
noshowpoint:只有当小数部分存在时候才显示小数点,即1.00的输出为1
noshowpos:在非负数值中不显示+
skipws:输入时跳过空白字符(如果设置为noskipws,那么在读入数字的时候会爆炸,只要存在空格就不会读入数字了,这点需要注意)
nouppercase:十六进制中使用a-e,若输出前缀则为0x,科学计数法中输出的为e
也就是只要不是字符串中的输出(包括字符),那么都是使用小写输出
其他算子:
hex:以十六进制形式输出整数
oct:以八进制形式输出整数
fixed:定点数,可以这样记忆,以普通小数形式输出浮点数
scientific:以科学计数法形式输出浮点数
left:左对齐
setbase:设置输出整数时的进制,注意里面的形参只能为8,10,16
setw:设定下一个输出字段的最短长度,注意也可以定义输入字符串读入的字符个数
setfill:通常与setw配套使用,控制的是最小输出字段的长度不够时进行填充的字符
eg:cout << setw(3) << setfill('@') << 1 << endl;
output:@@1
setprecision:注意精度的设置适用于浮点数的输出
在使用非fixed并且非scientific方式进行输出的情况下,里面的形参n控制的是有效数字个数,如果整数部分的数字个数大于n,那么输出形式会变成科学计数法,如果n会到达小数部分,那么输出是按照四舍五入的方式进行输出
注意该精度并不会将1.2000后面的0输出
eg:cout << setprecision(10) << 1.2000 << endl;
如果使用了fixed或者scientific那么n代表的是保留小数点后的n位数字
output:1.2
setiosflags:将某个输出格式标志置为1
如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。
也就是说下面的两个输出方式的效果是一致的
eg:
cout << setiosflags(ios::fixed) << setprecision(10) << 1.20 << endl;
cout << fixed << setprecision(10) << 1.20 << endl;
resetiosflags:将某个输出格式标志置为0
boolapha:把true和false输出为字符串
showbase:输出表示数值进制的前缀
showpoint:总是输出小数点
showpos:在非负数值中显示+
noskipws:输入时不跳过空白字符
uppercase:与nouppercase的作用相反
internal:符号左对齐,数值右对齐(对于有符号的数字的一种规范)
fixed:小数以定点数的形式输出
scientific:小数以科学计数法的形式进行输出
C++中关于cout相关的输出格式(操作流算子)的更多相关文章
- 利用commons-io.jar包中FileUtils和IOUtils工具类操作流及文件
1.String IOUtils.toString(InputStream input),传入输入流对象,返回字符串,有多重重载,可按需要传参 用例: @Test public void showIn ...
- C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET
C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...
- Qt中与文件目录相关操作
一.与文件目录操作有关操作. Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句. QDir::drives()是列出电脑根目录下的所有目录,返回的是QFil ...
- Head First Python-Python中与文件相关的操作-读、处理、写
最近在看head first python,前面也写了一些笔记,但是基本上没有涉及到一些完整的代码,现在将书中的文件相关操作的代码整理,供以后参考. 主要分为两大部分,读取文件.处理异常,处理文件.存 ...
- STL中的Vector相关用法
STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...
- C# 的Brush 及相关颜色的操作 (并不是全转)
C# 的Brush 及相关颜色的操作 2013-12-13 14:08 4977人阅读 评论(0) 收藏 ...
- Linux中exec命令相关
Linux中exec命令相关 exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. b ...
- SELECT中(非常)常用的子查询操作
MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...
- MVC中Controller控制器相关技术
第6章Controller相关技术 Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务器端的交互,并 且负责协调Model与View之间的数椐传递,是ASP.NET MV ...
随机推荐
- Elasticserach学习笔记(一)
1.什么是Elasticserach? 一个由Java语言开发的全文搜索引擎,全文检索就是根据用户输入查询字符的片段,能查询出包含片段的数据,简单来说就是一个分布式的搜索与分析引擎,它可以完成分布式部 ...
- JavaScript 数据结构与算法2(队列和双端队列)
学习数据结构的 git 代码地址: https://gitee.com/zhangning187/js-data-structure-study 1.队列和双端队列 队列和栈非常类似,但是使用了与 后 ...
- resultMap,日志,分页
问题:属性名和字段名不一致 解决方法 起别名 select id, username, password as pwd from db4.user resultMap结果集映射 id username ...
- pycham的安装、优化、使用
一.下载与安装 下载地址:https://confluence.jetbrains.com/display/PYH/Previous+PyCharm+Releases 注册:参考地址:http://i ...
- 每日一题20180330-Linux
一.问题 1.1 统计/var/log/下所有文件个数 1.2 查找出/var/log目录下面修改时间是7天以前,大小在50k到2M之间,并以.log结尾的文件把这些文件复制到/data目录中 1.3 ...
- linux篇-linux修改网卡名(亲测有效)
1查看网卡ip addr 2cd /etc/sysconfig/network-scripts Ls查看 3mv ifcfg-eno16777736 ifcfg-eth0重命名,然后编辑 最后一行加入 ...
- 108_Power Pivot购物篮分析分组GENERATE之笛卡尔积、排列、组合
博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 昨天在看论坛帖子时候(帖子),看到一个关于SKU组合的问题,有很多M大佬都给出了处理方案,于是想用dax也写一个 ...
- break、continue、return中选择一个,我们结束掉它
在平时的开发过程中,经常会用到循环,在写循环的过程中会有很多判断条件及逻辑,你知道如何结束一个循环吗?在java中有break.continue.reture三个关键字都可以结束循环,我们看下他们 ...
- SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别
先上代码: declare @tb table (name varchar(10),sex int) declare @tb2 table (name varchar(10),age int) ins ...
- 【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed
问题描述 使用Azure Storage Account的共享访问签名(Share Access Signature) 生成的终结点,连接时遇见 The Azure Storage endpoint ...