名前空間
変種
操作

std::ios_base::precision

From cppreference.com
< cpp‎ | io‎ | ios base
 
 
 
 
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'は「小数点以下の桁数」として定義されていましたが、一部のケースでは正しくありません。
小数点以下の桁数
修正済み

[編集] 関連項目

フィールド幅を管理する
(public member function) [編集]
浮動小数点数の精度を変更する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)