C ++形式の出力

各出力ストリームには、プレシジョンメンバー関数があります。特定の出力ストリームに対してプレシジョン関数が呼び出されると、ストリームに小数点付きの数値を出力するときに、合計2桁の有効桁数が予約されるか、小数点以下2桁が予約されます。特定の実装方法コンパイラによって決定されます。精度関数は、指定されたストリームに対してのみ有効です。
setfメンバー関数は、set形式ではなく、setフラグの略です。これは、別の方法で1つのことを行うための指示です。

ios :: fixedフラグを使用すると、ストリームはe表記を使用する代わりに、固定ポイント表記を使用してダブルタイプの数値を出力します。

ios :: showpointフラグでは、ストリームが常に浮動小数点数に小数点を含める必要があります。

ios :: Scientificフラグは、電子表記で数値を出力します。

ios :: showposは、正の整数の前に+記号を出力します

ios :: rightフラグが使用され、widthがフィールド幅を指定するために使用される場合、出力の次の項目は右揃えになります。デフォルトはこれです

ios :: leftフラグが使用され、widthがフィールド幅を指定するために使用される場合、次の出力項目は、フィールド幅を設定するためのwidthメンバー関数と左揃えになります。例えば:

cout << "a";    
    cout.width(4);
    cout << 7 << endl;

次に、7を出力します。システムはデフォルトでios :: rightを設定して右揃えにするため、aと7の間には3つのスペースがあります。

幅メンバー関数は、次に出力する項目にのみ適していることに注意してください。複数の項目を出力する場合は、widthを複数回呼び出す必要があります。面倒な場合は、ストリーム操作要素setwを使用できます。

設定されているフラグは、unsetfメンバー関数を呼び出すことでキャンセルできます。次に例を示します。

  cout.unsetf(ios::showpos);

正の整数の前の+記号をキャンセルできます。

setwおよびsetprecisionマニピュレータ。

操纵元是以非传统的方式调用的函数。操纵元位于插入操作符 << 之后。两个操纵元均在 iomanip 库中,要想使用,需要调用该库。

setwマニピュレータはwidthメンバー関数と同じ機能です。フィールド幅を複数回設定する場合は、setwマニピュレータを複数回呼び出す必要があります。実際、setwマニピュレータはwidthメンバー関数を呼び出します。次のコード:

  cout << "a" << set(5) << 1    
                << set(5) << 2
                << set(7) << 3 << endl;
                

この文の出力は次のとおりです。a123。1、2の前に4つのスペースがあり、3の前に6つのスペースがあります。

  setprecision 操纵元和 precision 成员函数功能一样。如下代码:
  cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout << "a" << setprecision(2) << 1.2
                                 << 2.3 << endl;

setprecisionマニピュレータは、精度メンバー関数と同じで、設定後は常に有効です。上記の例の出力:1.202.30。
あなたが学んだことを適用することはより良いです、そして上記に欠点があるかもしれません、議論を指摘することを歓迎します。
(より無料のC / C ++、Linux、Nginx、ZeroMQ、MySQL、Redis、fastdfs、MongoDB、ZK、ストリーミングメディア、CDN、P2P、K8S、Docker、TCP / IP、coroutine、DPDKなど。複数のナレッジポイントが乾物学習教材とグループ960994558)

おすすめ

転載: blog.csdn.net/weixin_52622200/article/details/110404678