1.修改顯示時使用的計數系統
ostream類是從ios類派生來的,而後者是從ios_base派生來的。ios_base類儲存了描述格式狀態的資訊。例如,乙個類成員中某些位決定了使用的計數系統,而另乙個成員則決定了字段寬度。通過使用控制符,可以控制顯示整數時使用的計數系統。通過使用ios_base的成員函式,可以控制欄位的寬度和小數字數。
要控制整數以十進位制、十六進製制、八進位制顯示,可以使用dec、hex和oct控制符。
例如:
#include
int main()
2.調整字元寬度
cout.width(int);
注意:width( )方法只影響接下來顯示的乙個專案,然後字段寬度將恢復為預設值
3.填充字元
cout.fill('*');//用 * 來填充欄位中未被使用的部分
注意:與字段寬度不同的是,新的填充字元將一直有效,直到更改它為止。
4.設定浮點數的顯示精度
cout.precision(5);//設定精度為5
5.列印末尾的0和小數點
cout.setf(ios_base:
:showpoint);
setf( )是ios_base類中的乙個格式化函式,setf( )有兩個原型。第乙個為:
fmtflags setf(fmtflags);
其中,fmtflags是bitmask型別的typedef名,用於儲存格式標記。這個版本的setf( )是用來設定單位控制的格式資訊。
有下面一些格式常量:
ios_base::boolalpha 輸入和輸出bool值,可以為true或false
ios_base::showbase 對於輸出,使用c++基數字首(o,ox)
ios_base::showpoint 顯示末尾的小數點
ios_base::uppercase 對於16進製制輸出,使用大寫字母,e表示法
ios_base::showpos 在正數前面加上+
第二個setf( )原型接受兩個引數,並返回以前的設定:
fmtflags setf(fmtflags, fmtflags);
函式的這種過載格式用於設定由多位控制的格式選項。第乙個引數和以前一樣,也是包含了所需設定的fmtflags值,第二個引數指出要清楚第乙個引數中的哪些位。
#include
#include
int main()
cout.setf(ios_base::internal,ios_base::adjustfield);//符號或基數字首左對齊,值右對齊
cout.setf(old,ios_base::floatfield);//恢復以前的格式設定
cout
<<"internal justification:\n";
for(n = 1; n <= 41; n += 10)
cout.setf(ios_base::right,ios_base::adjustfield);//右對齊
cout.setf(ios_base::fixed,ios_base::floatfield);//使用定點計數法
cout
<<"right justification:\n";
for(n = 1; n <= 41; n += 10)
return
0;}
輸出結果為:
left justification:
+1 |+1.000e+000 |
+11 |+3.317e+000 |
+21 |+4.583e+000 |
+31 |+5.568e+000 |
+41 |+6.403e+000 |
internal justification:
+ 1|+ 1.00|
+ 11|+ 3.32|
+ 21|+ 4.58|
+ 31|+ 5.57|
+ 41|+ 6.40|
right justification:
+1| +1.000|
+11| +3.317|
+21| +4.583|
+31| +5.568|
+41| +6.403|
cout格式化輸出
在使用setf等庫函式時使用 在使用流操縱運算元時使用 using namespace std 以下所有的setf 都有對應的unsetf 用於取消設定 所有的setiosflags 可以用resetiosflags 取消 標誌位fmtflags的命名空間可以使用ios base 或者ios int...
cout格式化輸出
需要引入的標頭檔案 include在使用流操縱運算元時使用 int laneri 12345 double lanerd 56789 1 設定整數進製輸出 過載1 fmtflags ios base setf fmtflags mask 過載2 fmtflags ios base setf fmtf...
cout格式化輸出
在c語言中,我們一般用printf 函式來進行輸出,通過輸出字串中的格式說明符 如 4.2d 可以很容易地格式化輸出。而在c 中,為簡便起見,往往不指定輸出的格式,由系統根據資料的型別採取預設的格式,但有時也需要資料按我們指定的格式輸出,比如以十六進製制的形式輸出乙個整數等。有兩種方法可以達到格式化...