Namespaces
Variants

std::ios_base:: precision

From cppreference.net
streamsize precision ( ) const ;
(1)
streamsize precision ( streamsize new_precision ) ;
(2)

浮動小数点出力の精度(つまり、生成される桁数)を管理します。この出力は std::num_put::do_put によって実行されます。

1) 現在の精度を返します。
2) 指定された精度に設定します。以前の精度を返します。

デフォルトの精度は、 std::basic_ios::init によって設定され、6です。

目次

パラメータ

new_precision - 新しい精度設定

戻り値

関数呼び出し前の精度

#include <iostream>
int main()
{
    const double d = 12.345678901234;
    std::cout << "The  default precision is " << std::cout.precision() << "\n\n";
    std::cout << "With default precision d is " << d << '\n';
    std::cout.precision(8);
    std::cout << "With high    precision d is " << d << '\n';
}

出力:

The  default precision is 6
With default precision d is 12.3457
With high    precision d is 12.345679

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 189 C++98 'precision'は'小数点以下の桁数'と定義されていたが、
一部の場合で正しくない
修正済み

関連項目

フィールド幅を管理する
(公開メンバ関数)
浮動小数点精度を変更する
(関数)