setiosflags的參數是該流的格式標志值,這個值由如下位掩碼(ios枚舉器)指定,並可用位或OR(|)運算符進行組合:
ios::skipws 在輸人中跳過空白。
ios::left 左對齊值,用填充字符填充右邊。
ios::right 右對齊值;用填充字符填充左邊(缺省對齊方式)。
ios::internal 在指定任何引導標記或基之后增加填充字符。
ios::dec 以基10(十進制)格式化數值(缺省進制)。
ios::oct 以基8(八進制)格式化數值。
ios::hex 以基16(十六進制)格式化數值。
ios::showbase 以C++編譯器能讀的格式顯示數值常量。
ios::showpoint 對浮點數值顯示小數點和尾部的0。
ios::uppercase 對於十六進制數值顯示大寫字母A到F,對於科學格式顯示大寫字母E。
ios::showpos 對於正數顯示正號(+)。
ios::scientific 以科學格式顯示浮點數值。
ios::fixed 以定點格式顯示浮點數值。
ios::unitbuf 導致在每次插入之后ostream::osfx刷新該流。缺省地,cerr是緩沖的單元。
ios::stdio 導致在每次插入之后ostream::osfx刷新該流的stdout和stderr。
setiosflags( ios::fixed ),頭文件為:include<iomanip>.
在遇到要計算浮點數且希望能控制其輸出、精度、小數點后的位數等時,用setiosflags( ios::fixed )來控制。
1. setprecision( )
使用setprecision(n)可控制輸出流顯示浮點數的數字個數。C++默認的流輸出數值有效位是6。setprecision(n)就是輸出n個數,會有四舍五入。
2. setiosflags(ios::fixed)
setprecision(n)與setiosflags(ios::fixed)合用,可以控制小數點右邊的數字個數。
例如:
cout << "第" << setiosflags(ios::right)<< setw(3) << i + 1 << "個人的紅包是:" << setiosflags(ios::right) << setw(6) << setiosflags(ios::fixed) << setprecision(2) << round(b[i] * 100) / 100.0 ;
https://blog.csdn.net/panhe1992/article/details/6918643
