c++中的插入运算符和操纵符

1.使用width函数控制输出宽度

/*
cout输出默认右对齐   
double型数据默认精度为6 
cout.width(10)设置输出宽度为10  width函数在iostream声明了 
cout.fill()默认是使用空格进行填充  cout.fill('*')指定*为填充符 
*/
#include<iostream>
using namespace std;
int main(){
double values[]={1.2366,2.5,45.4564564456,123.44};
cout.fill('*');
int length=sizeof(values)/sizeof(double);
for(int i=0;i<length;i++){
cout.width(10);
cout<<values[i]<<endl;
}
return 0;
}

运行结果:

****1.2366
*******2.5
***45.4565
****123.44


2.使用setw操纵符指定宽度

/*
如果要为同一行中输出的不同数据项分别设置格式,可以使用setw操纵符 
width函数在iostream声明了  如果带参量使用setw或任何其他操纵符,就必须包括iomanip 

setw和width都不截断数值,如果数值超过了指定宽度,则显示全部值,
但是同时也遵守流的精度设置 
*/
#include<iostream>
#include<string> 
#include<iomanip>
using namespace std;
int main(){
double values[]={1.23,35.36,635.7,4358.2444};
string names[]={"Zoot","Jimmy","Al","Stan"};
cout.fill('*');
cout.precision(7);
for(int i=0;i<4;i++)
{
cout<<setw(6)<<names[i]<<setw(6)<<values[i]<<endl;
}
return 0;
}

运行结果:

**Zoot**1.23
*Jimmy*35.36
****Al*635.7
**Stan4358.244


3.对齐方式以及精度控制

/*
如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。
setiosflags(ios::fixed)是用定点方式表示实数。
如果与setiosflags(ios::scientific)合用,'可以控制指数表示法的小数位数。
  setiosflags(ios::scientific)是用指数方式表示实数。
*/
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
int main(){
double values[]={1.23,35.36,653.7,4358.24};
string names[]={"Zoot","Jimmy","Al","Stan"};
cout.fill('*'); 
for(int i=0;i<4;i++){
cout<<setiosflags(ios_base::left)<<setw(6)<<names[i]//左对齐方式 宽度为6 
<<resetiosflags(ios_base::left)<<setw(10)//清除前面的输出格式 宽度为10 
<<setiosflags(ios_base::fixed)//定点方式 ,小数点右面的个数为2 
<<setprecision(2)<<values[i]<<endl;}


 cout<<setiosflags(ios::fixed)<<setprecision(3)<<1.2345<<endl;//1.234
cout<<resetiosflags(ios::fixed);//需要用resetiosflags()函数清除前面的输出格式
cout<<setiosflags(ios::scientific)<<setprecision(3)<<12345.0<<endl;// 1.234e+04
return 0;
}


运行结果:

Zoot********1.23
Jimmy******35.36
Al********653.70
Stan*****4358.24
1.234
1.234e+04

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值