1. 程式人生 > >c++中格式化輸出。十六進位制浮點數0x p輸出問題

c++中格式化輸出。十六進位制浮點數0x p輸出問題

不可用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

預設輸出為十六進位制浮點數  0x1.2p2表示(1+2*1/16)*2^2

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() 終止已設定的輸出格式狀態,在括號中應指定內容
若要結束則用resetiosflags結束它。