1.使用控制符控制輸出格式
| 控制符 |
作用 |
| dec |
設定整數的基數為10 |
| hex |
設定整數的基數為16 |
| oct |
設定 整數的基數為8 |
| setbase(n) |
設定整數的基數為n(n只能是16,10,8之一) |
| setfill(c) |
設定填充字元c,c可以是字元常量或字元變數 |
| setprecision(n) |
設定實數的精度為n位。在以一般十進位小數形式輸出時,n代表有效數字。在以fixed(固定小數位 數)形式和scientific(指數)形式輸出時,n為小數位元。 |
| setw(n) |
設定欄位寬度為n位。 |
| setiosflags(ios::fixed) |
設定浮點數以固定的小數位元顯示。 |
| setiosflags(ios::scientific) |
設定浮點數以科學計數法(即指數形式)顯示。 |
| setiosflags(ios::left) |
輸出資料靠左對齊。 |
| setiosflags(ios::right) |
輸出資料靠右對齊。 |
| setiosflags(ios::shipws) |
忽略前置的空格。 |
| setiosflags(ios::uppercase) |
在以科學計數法輸出E和十六進位輸出字母X時,以大寫表示。 |
| setiosflags(ios::showpos) |
輸出正數時,給出“+”號。 |
| resetiosflags |
終止已設定的輸出格式狀態,在括弧中應指定內容。 |
2.用流對象的
成員控制輸出格式
| 流成員函數 |
與之作用相同的控制符 |
作用 |
| precision(n) |
setprecision(n) |
設定實 數的精度為n位。 |
| width(n) |
setw(n) |
設定欄位寬度為n位。 |
| fill(c) |
setfill(c) |
設定填充字元c。 |
| setf( ) |
setiosflags( ) |
設定輸出格式狀態,括弧中應給出格式狀態,內容與控制符setiosflags括弧中內容相同。 |
| ubsetf( ) |
resetiosflags( ) |
終止已設定的輸出格式狀態。 |
cout.width(10);
cout.setf(ios::hex);
3.設定格式狀態的格式標誌
| 格式標誌 |
作用 |
| ios::left |
輸出資料在本域寬範 圍內靠左對齊 |
| ios::right |
輸出資料在本域寬範圍內靠右對齊 |
| ios::internal |
數值的符號位在域寬內靠左對齊,數值靠右對齊,中間由填充輸入鍵台 |
| ios::dec |
設定整數的基數為10 |
| ios::oct |
設定整數的基數為8 |
| ios::hex |
設定整數的基數為16 |
| ios::showbase |
強制輸出整數的基數(八進位以0打頭,十六進位以0x打頭) |
| ios::showpoint |
強制輸出浮點數的小點和尾數0 |
| ios::uppercase |
在以科學計數法輸出E和十六進位輸出字母X時,以大寫表示 |
| ios::showpos |
輸出正數時,給出“+”號。 |
| ios::scientific |
設定浮點數以科學計數法(即指數形式)顯示 |
| ios::fixed |
設定浮點數以固定的小數位元顯示 |
| ios::unitbuf |
每次輸出後重新整理所有流 |
| ios::stdio |
每次輸出後清除 stdout,stderr |
以小數形式,保留三位小數輸出:
cout<<setprecision(3)<<setiosflags(ios::fixed)<<3.1415926<<endl;