2018年04月03日
《その354》precision関数, width関数
precision関数, width関数
下記のプログラムで、ios_baseクラスのメンバ関数である precision関数,width関数の働きを確認します。
・streamsize precision() const;
出力時の精度を返却します。
・streamsize precision(streamsize p);
出力時の精度を p に変更し、変更前の精度を返却します。
・streamsize width() const;
出力時のフィールド幅最小値を返却します。
・streamsize width(streamsize w);
出力時のフィールド幅最小値を w に変更し、変更前のフィールド幅最小値を返却します。
以下は、プログラムです。
#include <iostream>
using namespace std;
int main() {
double d = 1.23456789;
// デフォルトの設定のままで出力
cout << d << '\n';
// 精度を 8 に変更。
// p0 は、precision関数の返却値 すなわち
// デフォルトの精度 6 を受け取ります。
streamsize p0 = cout.precision(8);
cout << d << '\n';
// 精度を 2 に変更。
cout.precision(2);
cout << d << '\n';
// デフォルトの精度に戻します。
cout.precision(p0);
cout << d << '\n';
cout << "------------\n";
// 出力時のフィールド幅最小値を 10 に変更。
// w0 は、width関数の返却値 すなわち
// デフォルトのフィールド幅最小値 0 を
// 受け取ります。
streamsize w0 = cout.width(10);
cout << d << '\n';
// フィールド幅最小値を 12 に変更。
cout.width(12);
cout << d << '\n';
// フィールド幅最小値をデフォルトの設定に
// 戻します。
cout.width(w0);
cout << d << '\n';
}
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7508180
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック