• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

c++ 流格式控制符处理

武飞扬头像
揽星逐月酒微醺
帮助5

添加头文件#include <iomanip>

使用控制符控制输出格式

控制符

作用

dec

设置整数的基数为10

hex

设置整数的基数为16

oct

设置整数的基数为8

setbase(n)

设置整数的基数为n(n只能是16,10,8之一)

setfill(c)

设置填充字符c,c可以是字符常量或字符变量

setprecision(n)

设置实数的精度为n位。在以一般十进制小数形式输出时,n代表有效数字。在以fixed(固定小数位数)形式和scientific(指数)形式输出时,n为小数位数。

setw(n)

设置字段宽度为n位。

setiosflags(ios::fixed)

设置浮点数以固定的小数位数显示。

setiosflags(ios::scientific)

设置浮点数以科学计数法(即指数形式)显示。

setiosflags(ios::left)

输出数据左对齐。

setiosflags(ios::right)

输出数据右对齐。

setiosflags(ios::shipws)

忽略前导的空格。

setiosflags(ios::uppercase)

在以科学计数法输出E和十六进制输出字母X时,以大写表示。

setiosflags(ios::showpos)

输出正数时,给出“ ”号。

resetiosflags

终止已设置的输出格式状态,在括号中应指定内容。

1.setw() 函数用于设置字段的宽度,语法格式如下:

setw(n) n表示宽度,用数字表示。

setw() 函数只对紧接着的输出产生作用。

当后面紧跟着的输出字段长度小于 n 的时候,在该字段前面用空格补齐,当输出字段长度大于 n 时,全部整体输出

cout<<setw(10)<<"hello"<<endl;

hello 大小是5,会在hello前面5个空格。

2.setprecision(n)

setprecision(n)指定一个浮点数的精度。

可以指定一个浮点数打印几位数字,其中n是总位数!!包括小数之前和之后的数字。超出的位数会被四舍五入进去!!!

例如

double num = 1.23456;

cout<<setprecision(2)<<num<<endl;   ---- 输出1.2

cout<<setprecision(4)<<num<<endl;   ---- 输出1.235

cout<<setprecision(5)<<num<<endl;   ---- 输出1.22346

注意:与setw()不同setprecision(n)一直作用到下一个setprecisin(n)之前,所以,只需要写一个setprecision(n)就可以setw()要每次都写。

3.fixed

fixed可以强制数值不以科学技术法显示,即只用小数形式显示。

(在遇见大的浮点数时候,计算机会以科学技术法形式显示浮点数)默认情况下,使用fixed之后,小数点后面数字位数为6,

如:double i  = 1.23;

cout<<fixed<<i<<endl;

会输出1.230000

我们可以使用fixed和setprecision(n)一起使用的方法,来改变这个小数点后的位数,当setprecision(n)作用于fixed之后时候,

setprecision(n)指定的是小数点后的数字位数

如:double num = 3.141592653;

cout<<fixed<<setprecision(2)<<num<<endl;

输出:3.14

注意,默认情况下,没有小数的部分不会显示小数点。但使用fixed之后,会强制显示小数点

如double i= 1;

cout<<fixed<<i<<endl;

显示 1.000000

4.showpoint (与setprecision(n)一起使用)

showpoint 强制小数后面以0显示。

cout<<setprecision(6);

cout<<showpoint<<1.23<<endl; ----显示 1.23000

cout<<showpoint<<123.0<<endl; ----显示 123.000

5. right /left  对齐方式

大多数系统默认情况下为右对齐,

可以使用;eft ,将输出格式左对齐

用法

cout<<left;

cout<<setw(8)<<1.23<<endl;

cout<<setw(8)<<1.23456<<endl;

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhjfjf
系列文章
更多 icon
同类精品
更多 icon
继续加载