1、設置標誌字
#include<iostream>
using namespace std;
int main()
{
double x = 22.0 / 7;
int i;
cout << "Output in fixed:\n";
cout.setf(ios::fixed | ios::showpos); //定點輸出,顯示+
for (i = 1; i <= 5; i++) //用不同精度輸出
{
cout.precision(i);
cout << x << endl;
}
cout << "Output in scientific:\n";
cout.setf(ios::scientific, ios::fixed | ios::showpos);
//清除原設置,科學計數法輸出
for (i = 1; i <= 5; i++) //用不同精度輸出
{
cout.precision(i);
cout << x*1e5 << endl;
}
}
2、使用格式控制符(iomanip中的控制符)
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double x = 22.0 / 7;
int i;
cout << "output in fixed:\n";
cout << setiosflags(ios::fixed | ios::showpos); //定點輸出,顯示+
for (i = 1; i <= 5; i++)
{
cout << setprecision(i) << x << endl;
}
cout << "output in scientific:\n";
cout << resetiosflags(ios::fixed | ios::showpos) //清除原有設置
<< setiosflags(ios::scientific); //科學計數法輸出
for (i = 1; i <= 5; i++)
cout << setprecision(i) << x*1e5 << endl;
}
Iomanip中常見的控制符
Resetiosflags(ios::IFlags) 清除IFlags指定的標誌位
Setiosflags(ios::IFlags) 設置IFlags指定的標誌位
Setbase(int base) 設置基數,base=8,10,16
Setfill(char c) 設置填充符
Setprecision(int n) 設置浮點數輸出精度
Setw(int n) 設置輸出寬度
其中 置流表示基數setbase(8)相當於iostream的控制符oct
同理 setbase(10)相當於dec
Setbase(16)相當於hex