C++中setiosflags的一些用法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM