在輸出數(shù)據(jù)時,為簡便起見,往往不指定輸出的格式,由系統(tǒng)根據(jù)數(shù)據(jù)的類型采取默認的格式,但有時希望數(shù)據(jù)按指定的格式輸出,如要求以十六進制或八進制形式輸出一個 整數(shù),對輸出的小數(shù)只保留兩位小數(shù)等。有兩種方法可以達到此目的。一種是使用控制符的方法;第2種是使用流對象的有關(guān)成員函數(shù)。分別敘述如下。
使用控制符控制輸出格式
控制格式的使用方法這里不再贅述,僅舉例說明
[例] 用控制符控制輸出格式。
#include <iostream>#include <iomanip>//不要忘記包含此頭文件using namespace std;int main(){ int a; cout<<"input a:"; cin>>a; cout<<"dec:"<<dec<<a<<endl; //以十進制形式輸出整數(shù) cout<<"hex:"<<hex<<a<<endl; //以十六進制形式輸出整數(shù)a cout<<"oct:"<<setbase(8)<<a<<endl; //以八進制形式輸出整數(shù)a char *pt="China"; //pt指向字符串"China" cout<<setw(10)<<pt<<endl; //指定域?qū)挒?輸出字符串 cout<<setfill('*')<<setw(10)<<pt<<endl; //指定域?qū)?輸出字符串,空白處以'*'填充 double pi=22.0/7.0; //計算pi值 //按指數(shù)形式輸出,8位小數(shù) cout<<setiosflags(ios::scientific)<<setprecision(8); cout<<"pi="<<pi<<endl; //輸出pi值 cout<<"pi="<<setprecision(4)<<pi<<endl; //改為位小數(shù) cout<<"pi="<<setiosflags(ios::fixed)<<pi<<endl; //改為小數(shù)形式輸出 return 0;}運行結(jié)果如下: