C++格式化輸出

在C++中,咱們經常使用到的一些關於流操縱算子,來對咱們程序中的輸出結果進行格式化的輸出。ios

流操縱算子 做  用
*dec 以十進制形式輸出整數 經常使用
hex 以十六進制形式輸出整數
oct 以八進制形式輸出整數
fixed 以普通小數形式輸出浮點數
scientific 以科學計數法形式輸出浮點數
left 左對齊,即在寬度不足時將填充字符添加到右邊
*right 右對齊,即在寬度不足時將填充字符添加到左邊
setbase(b) 設置輸出整數時的進制,b=八、10 或 16
setw(w) 指定輸出寬度爲 w 個字符,或輸人字符串時讀入 w 個字符
setfill(c) 在指定輸出寬度的狀況下,輸出的寬度不足時用字符 c 填充(默認狀況是用空格填充)
setprecision(n) 設置輸出浮點數的精度爲 n。

在使用非 fixed 且非 scientific 方式輸出的狀況下,n 即爲有效數字最多的位數,若是有效數字位數超過 n,則小數部分四舍五人,或自動變爲科學計 數法輸出並保留一共 n 位有效數字.

在使用 fixed 方式和 scientific 方式輸出的狀況下,n 是小數點後面應保留的位數
setiosflags (標誌) 將某個輸出格式標誌置爲 1
resetiosflags(標誌) 將某個輸出格式標誌置爲 0

 

程序以下:spa

#include <iostream> #include <iomanip>
using namespace std; int main() { int n = 141; //1) 分別以十六進制、十進制、八進制前後輸出 n
    cout << "1)" << hex << n << " " << dec << n << " " << oct << n << endl; double x = 1234567.89, y = 12.34567; //2)保留5位有效數字
    cout << "2)" << setprecision(5) << x << " " << y << " " << endl; //3)保留小數點後面5位
    cout << "3)" << fixed << setprecision(5) << x << " " << y << endl; //4)科學計數法輸出,且保留小數點後面5位
    cout << "4)" << scientific << setprecision(5) << x << " " << y << endl; //5)非負數顯示正號,輸出寬度爲12字符,寬度不足則用 * 填補
    cout << "5)" << showpos << fixed << setw(12) << setfill('*') << 12.1 << endl; //6)非負數不顯示正號,輸出寬度爲12字符,寬度不足則右邊用填充字符填充
    cout << "6)" << noshowpos << setw(12) << left << 12.1 << endl; //7)輸出寬度爲 12 字符,寬度不足則左邊用填充字符填充
    cout << "7)" << setw(12) << right << 12.1 << endl; //8)寬度不足時,負號和數值分列左右,中間用填充字符填充
    cout << "8)" << setw(12) << internal << -12.1 << endl; cout << "9)" << 12.1 << endl; return 0; }

 

運行結果:code

相關文章
相關標籤/搜索