C++中的格式化輸出

部分轉載自:
https://www.cnblogs.com/single-dont/p/10479514.html https://blog.csdn.net/beashaper_/article/details/79372420

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

操作符 含義 輸入輸出
dec 以十進制顯示(默認設置) I/O
hex 以十六進制顯示 I/O
oct 以八進制顯示 I/O
Setbase(int n) 設置數制基數爲n(=0,8,10,16),0表示默認(十進制)
ws 提取空白字符 I
ends 插入空字符 O
endl 插入換行符,然後刷新ostream緩衝區 O
flush ostream緩衝區 O
resetiosflags(long) 清除參數所指定的標誌位
setiosflags(long) 設置參數所指定的標誌位
setfill(char) 設置填充字符 O
setprecision(int) 設置浮點數輸出的有效數字位數 O
setw(int) 設置輸出數據項的域寬 O

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

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

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


resetiosflags(標誌) 將某個輸出格式標誌置爲 0

測試代碼如下:

#include <iostream>
#include <iomanip>

using namespace std;
/*
	C++中的格式化輸出:控制小數點、十六進制、八進制、二進制.......
 */

int main(int argc, char const *argv[])
{
	cout<<"C++中的格式化輸出"<<endl;
	double a = 12.23467;
	//保留指定位小數
	cout << "double a = " << a << endl;
	cout << "保留3位有效小數: " << fixed << setprecision(3) << a << endl;
	cout << "保留4位有效小數: " << fixed << setprecision(4) << a << endl;
	cout << "保留5位有效小數: " << fixed << setprecision(5) << a << endl;

	int n = 104;
	//指定進制
	cout << "int n = " << n << endl;
	cout << "十六進制: " << hex << n << endl;
	cout << "十進制: " << dec << n << endl;
	cout << "八進制: " << oct << n << endl;

	return 0;
}

輸出結果如圖所示:
輸出結果如圖所示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章