c++中格式化輸出。十六進位制浮點數0x p輸出問題
阿新 • • 發佈:2019-02-08
不可用cin讀取空格,回車換行,tab。若要則用getchar。
格式化輸入輸出需要iomanip標頭檔案。
預設不加為6位有效數字。
在輸入流與輸出流中使用控制符
dec hex oct 10 16 8進位制,設定之後一直有效。
setprecision(n)有效位數 一般十進位制小數形式輸出時,n代表有效數字。在以fixed(固定小數位數)形式和 scientific(指數)形式輸出時,n為小數位數
setfill填充字元
setw(n)位寬n setw範圍僅為之後一個數字。cout<<setw(3)<<a<<b 此處b就不受寬度限制了。寬度包括正負,小數點
直接寫cout《16 8進位制下輸出24
setiosflags( ios::fixed)固定的小數位數
setiosftags( ios::scientific)科學記數法(即指數形式)
setiosflags( ios::left)左對齊
setiosflags( ios::right)右對齊
setiosflags( ios::skipws)忽略前導的空格
setiosflags( ios::uppercase)十六進位制形式字母大寫
setiosflags( ios::lowercase)十六進位制形式宇母小寫
setiosflags(ios::showpos)正數帶+
用了scientific再用fixed
cout << setiosflags(ios::fixed) << 1.25 << setiosflags(ios::scientific) << 1.25 << setiosflags(ios::fixed) << 1.25<<endl;
輸出1.25 1.4 1.4
用流物件的成員函式控制輸出格式
流成員函式 | 與之作用相同的控制符 | 作用 |
---|---|---|
precision(n) | setprecision(n) | 設定實數的精度為n位 |
width(n) | setw(n) | 設定欄位寬度為n位 |
fill(c) | setfill(c) | 設定填充宇符c |
setf() | setiosflags() | 設定輸出格式狀態,括號中應給出格式狀態,內容與控制符setiosflags括號中的內容相同,如表13.5所示 |
unsetf() | resetioflags() | 終止已設定的輸出格式狀態,在括號中應指定內容 |