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
なおライブラリ側では初期値を保持していない様なので、元に戻したい場合は自分で初期値を控えておく必要がある。
最近のコメント