当前位置: 首页 > news >正文

C++常用格式化输出转换

在这里插入图片描述

 在C语言中可以用printf以一定的格式打印字符,C++当然也可以。
输入输出及命名空间还不太了解的小伙伴可以看一看C++入门讲解第一篇。
 在C++中,可以用流操作符(stream manipulators)控制数据的输出格式,这些流操作符定义在2个头文件(iomanipios)中,可以用输出运算符<<将一个操作符作用于输出流对象,即可输出该对象。
例如:

#include <iostream>
#include <stdbool.h>  
using namespace std;  
bool b = true;  
//两种输出如下
**cout << b << endl;** 
**cout << boolalpha << b << endl;**

运行后输出结果如下

1
true

 cout默认将bool类型的变量的值转化为0和1,如果在前边加上流操作符boolalpha,就以字符串“true”和“false”的形式输出bool类型变量的结果。


 在这里,ios头文件已经自动被iostream头文件包含,这个头文件中的操作符不带任何参数,就比如用以下操作符将整形以特定的进制格式输出。

oct:后续的生疏都以八进制的形式输出。
dec:后续的整数都以十进制的形式输出。
hex:后续的整数都以十六进制的形式输出。

举例:

	cout << oct << 18 << '\t' << 25 << endl;cout << dec << 18 << '\t' << 25 << endl;cout << hex << 18 << '\t' << 25 << endl;

运行后输出结果如下

在这里插入图片描述

\t为制表符,如果在\t前没有八个字符,会自动补齐到8个。


还可以用如下操作符改变浮点数的输出格式

fixed:以固定精度形式输出。(保留小数点后5位)
scientific:已科学计数法的形式输出。(以科学计数法并保留小数点后6位,如果最后一个有效数字在0.1的级数上,就保留5位,即后边添加4个0)
hexfloat:以十六进制浮点数形式输出。
defaultflaot:以默认形式输出。

如:

int main()
{cout << 0.001 << endl;cout << defaultfloat << 0.001 << endl;cout << hexfloat << 0.001 << endl;cout << scientific << 0.001 << endl;cout << fixed << 0.001 << endl;return 0;
}

运行后如图
在这里插入图片描述
对比后发现,默认输出形式可以省略。


对比上边ios的操作符,iomanip的操作符往往需要传递一个参数。
setw(n):改变输出域的宽度。
setprecision(n):改变浮点数的精度
setfill(ch):改变填空字符,即如果输出域的宽度大于输出值的宽度时,默认的填空字符为空格,这里可以将其修改为任意字符。

setbase(b)也可以改变输出整数的进制,b=8或10或16。
要注意包含头文件iomanip


setw用法(只作用一次,用于下次输出)
 对于小数,只能识别小数后5位,小数点也会占用一格输出。如果数字长度不够,则会以空格向前填充。
在这里插入图片描述
一共7个字符,向前补齐一个空格。


setprecision用法
改变浮点数精度
在这里插入图片描述
包含整数部分。
在这里插入图片描述
保存从最高位向后n位数字。


setfill(ch)的用法
这里需要配合setw来使用。
用例如下:
在这里插入图片描述
正如前边所说,小数点也占用一格输出。
本文结束,希望大家有所收获。

http://www.lryc.cn/news/221268.html

相关文章:

  • 如何使用 Loadgen 来简化 HTTP API 请求的集成测试
  • 软件测试面试大家是不是一问到项目就不会了?
  • 伐木猪小游戏
  • 0007Java安卓程序设计-ssm基于Android的校园新闻管理系统
  • git增加右键菜单
  • openGauss学习笔记-117 openGauss 数据库管理-设置数据库审计-查看审计结果
  • 学习代码20231106
  • turtle绘制分形树-第10届蓝桥杯省赛Python真题精选
  • 【大厂招聘试题】__硬件工程师_2021年“美团”校招
  • 算法通关村第七关|黄金挑战|迭代实现二叉树的前、中、后序遍历
  • 了解高防服务器的工作原理
  • AVL树性质和实现
  • 出口贸易媒体发稿推广6个技巧提升品牌知名度-华媒舍
  • 学习笔记:CANOE模拟LIN主节点和实际从节点进行通信测试
  • 模型可解释性
  • Django初窥门径-自定义用户模型
  • 微信小程序文件上传wx.uploadFile
  • 支持内录系统声音的Mac录屏软件Omi Recorder
  • 一、Hadoop初始化配置(final+ubuntu保姆级教程)
  • Linux常用的包管理工具
  • python随机生成指定长度的字符串
  • 语音识别接口试用
  • Java的数组使用
  • 基于STC15单片机温度光照蓝牙传输-proteus仿真-源程序
  • Jmter接口网站压力测试工具
  • 7.2 创建和销毁条件变量
  • 九凌网络:谷歌seo优化和外贸建站的五大优势
  • 【vue3/echarts】vue3中使用echarts/饼图/双轴双数据柱状图
  • 【左程云算法全讲4】比较器和堆
  • 【计算机组成与设计】Chisel取指和指令译码设计