C++入出力フォーマット制御

3005 ワード

一丶入出力幅制御
setw(int n):ioに等しい入出力幅を設定.width(n)
cout<<setw(10)<<123<<setw(10)<<456<//  :
     123     456

二丶浮点数出力フォーマット制御
resetionsflags:デフォルト設定、浮動小数点数は浮動小数点フォーマットでfixedを出力:浮動小数点数は定点フォーマットで出力、小数点数を保持した6ビットscientific:浮動小数点数は指数フォーマット(科学カウント法)で出力
cout<<314.15926535<cout<314.15926535<cout<314.15926535<//  :
314.159
314.159265
3.141593e+002

三丶出力精度制御
setprecision(int n):浮動小数点数の精度(有効桁数または小数点数)を設定する
cout<<fixed<<1234.5678<setprecision(2)<<1234.5678;
//  :
1234.567800
1234.57

四丶整列方式制御
left:設定された幅内に左揃え出力、右端に設定された塗りつぶし文字を使用してright:デフォルト設定、設定幅内に右揃え出力、左端に設定された塗りつぶし文字を使用してinternalを満たす:設定された幅内に右揃え出力、ただし記号(-,+)があれば、記号は最左端まで
    double s = 12;
    cout << setw(10) << s << "OK" << endl;
    cout << left<<  setw(10)<"OK" << endl;
    //  :
            12OK
    12        OK

五丶小数点処理方式の制御
showpoint:小数部が0であっても小数点以降の無効な0を出力するnoshowpoint:デフォルトで、小数部の最後の0は出力されません
cout<<12.0<cout<12.0<//  
12
12.0000

六丶パディング文字制御
setfill(char c):入力文字の設定
cout<<setw(10)<<12<setfill("*")<<setw(10)<<12<//  :
        12
********12