#include<iostream>
#include <iomanip>
using namespace std;
void main() {
{ /*
dec 10进制
oct 8进制
hex 16进制
*/
int a = 256;
cout << "十进制: " << dec << a << endl;
cout << "八进制: " << oct << a << endl;
cout << "十六进制: " << hex << a << endl;
}
{ //setw()设置域宽
cout << "...................." << endl;
int a = 1234;
cout << "设置域宽: " << endl;
cout << setw(3)<<dec << a << endl;
cout << setw(5)<<dec << a << endl;
cout << setw(12)<<dec << a << endl;
cout << "...................." << endl;
}
{ //setfill()设置填充字符
cout << "...................." << endl;
int a = 12345;
cout << "设置填充字符: " << endl;
cout << setfill('*') << setw(12)<<a<< endl;
cout << setfill('*') << setw(30)<<a<< endl;
cout << "...................." << endl;
}
{ //setioflags(ios::left) 设置对齐方式
int a = 12345;
cout << "...................." << endl;
cout << "设置对齐方式: " << endl;
cout << setfill('+') << endl;
cout << setiosflags(ios::left) << setw(15) << a << endl;
cout << setiosflags(ios::right) << setw(15) << a << endl;
cout << "...................." << endl;
}
{ // setiosflags(ios::showpoint) 显示小数点和后面的0
{ // setiosflags(ios::showpos) 显示正号
cout << "...................." << endl;
double d1 = 10 / 5; double d2=22.0 / 7;
cout << "显示小数点、尾和数符" << endl;
cout << d1 << endl;
cout << setiosflags(ios::showpoint) << d1 << endl; //显示小数点和小数点后面的0
cout << setiosflags(ios::showpos) << d2 << endl; //显示正负号
cout << "...................." << endl;
}
{
setprecision() 设置精度
double a = 123.123456789;
cout << "...................." << endl;
cout << "设置精度:..........." << endl;
cout << setprecision(3) << a << endl;
cout << setprecision(4) << a << endl;
cout << setprecision(5) << a << endl;
cout << resetiosflags(ios::showpos) << endl;
cout << setprecision(3) << a << endl;
cout << setprecision(4) << a << endl;
cout << setprecision(5) << a << endl;
cout << "...................." << endl;
}
{
//setiosflags(ios::scientific) 以科学计数法显示
// resetiosflags(ios::scientific) 恢复正常显示
double a = 12345.5678;
cout << "...................." << endl;
cout << "是否以科学计数法显示 " << endl;
cout << setiosflags(ios::scientific) << a << endl;
cout << resetiosflags(ios::scientific) << a << endl;
cout << setprecision(3)<<setiosflags(ios::fixed) << a << endl;
cout << "...................." << endl;
}
{ // setiosflags(ios::uppercase) 大写
int a = 510;
cout << hex << a << endl;
cout << setiosflags(ios::uppercase) << a << endl;
cout << resetiosflags(ios::uppercase) << a << endl;
}
system("PAUSE");
}