關於格式控制 實例:格式化輸出浮點數

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章