数据输出控制输出格式

iomanip.h中定义了许多控制符,这些控制符可以直接插入到流中,控制数据的输出格式。控制符有两种:控制常量和控制函数,控制常量定义在iostream.h中,控制函数定义在iomanip.h中。常用控制符见下表。
控制符
描述
备注
dec
hex
oct
 
按10进制输出
按16进制输出
按8进制输出
常量控制符
在iostream.h中
 
setfill(c)
setprecision(n)
setw(n)
setiosflags(ios::fixed)
setiosflags(ios::scientific)
setiosflags(ios::left)
setiosflags(ios::right)
setiosflags(ios::skipws)
setiosflags(ios::uppercase)
setiosflags(ios::lowercase)
设填充字符为c
设置显示小数精度为n位
设域宽为n个子符
小数方式表示
指数表示
左对齐
右对齐
忽略前导空白(用于输入)
16进制数大写输出
16进制数小写输出
函数控制符
在iomainip.h中
 
注意:除了setw(n)控制符之外,其他控制符对后面的所有输出起控制作用,直到改变输出格式为止。
例1、输出8进制和16进制数
常量dec、hex和oct用来控制必须按10进制、16进制或8进制形式输出。
#include  
void  main( )
{
   int  number=1234;
   cout  
            
            
}
结果为:
Decimal:1234
Hexadecimal:4d2  173c44
Octal:2322  5636104
注意:由于这三个标识符已经被定义为系统常量,注意不能在定义为其他变量使用。
例2、设置值的输出宽度
函数setw(n)用来控制输出宽度,如果数据实际宽度大于设置宽度,将按实际宽读输出;如果设置宽度大于实际输出宽度,数据输出时将在前面补相应数量的空格。另外,该控制符只对一次输出起作用。
#include  
#include 
void  main( )
{
   int  number=1234;
   cout  
}
输出结果为:
1234_ _  _1522756
例3、设置填充字符
setfill(c)函数用来设置填充的字符,默认情况下为空格。
#include  
#include 
void  main( )
{
   int  number=1234;
   cout  
            
            
}
输出$$1234$1522756
例4、设置对齐格式
函数setiosflags(ios::left)和setiosflags(ios::right)用来控制输出左右对齐格式。当数据实际宽度小于输出宽度时该控制才起作用。默认情况下数据输出是右对齐。
#include  
#include 
void  main( )
{
   int  number=1234;
   cout  
            
            
}
输出1234$$1522756$
例5、控制浮点数显示
函数setprecision(n)可用来控制输出流显示浮点数的数字个数(整数部分加小数部分)。c++默认的流输出数值的有效位是6。当小数截短显示时,进行四舍五入处理。
函数setflags(ios::fixed)用来控制符点数是按纯小数方式显示,函数setflags(ios::scientific)用来控制符点数是按科学记数法方式显示。系统默认为纯小数方式输出。
函数setiosflags(ios::showpoint) 用来强制显示小数点和符号。
#include  
#include  
void main( )
{
   float    x=20.0/7; y=18.0/6;
   cout
     cout
   cout
     cout
   cout
   cout
   cout
}
输出结果为:
2.85714         (默认6位,整数部分加小数部分)
2.857143e+000        (默认6位,指小数部分)
2.857142857142857e+000    (double型最多15位)
2.85714285714286    (double型有效位最多15位,整数部分加小数部分)
3              ( 无小数位)
3              (默认0不输出)
3.00000         (强制输出0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值