C++ の precision() で浮動小数点の出力の精度を制御する2021年03月04日 13時24分29秒

C++ の stream クラスには precision と言う関数がある。これで浮動小数点の桁数を制御できる。戻り値は現在の設定。引数を渡すことで、別の値に変更できる。
#include <iostream>

int main()
{   
    std::cout << std::cout.precision() << std::endl;
    std::cout << 0.123456789 << std::endl;

    std::cout << std::cout.precision( 3 ) << std::endl;
    std::cout << 0.123456789 << std::endl;

    std::cout << std::cout.precision( 20 ) << std::endl;
    std::cout << 0.123456789 << std::endl;
}
同じ数字の桁数を変えて出力。
% c++ precision.cpp
% ./a.out 
6
0.123457
6
0.123
3
0.12345678899999999734
なおライブラリ側では初期値を保持していない様なので、元に戻したい場合は自分で初期値を控えておく必要がある。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2021/03/04/9353079/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。