2016-03-31 11 views
1

このようにダブル変数aを印刷しようとしています。グーグルグロッグで完全な倍精度を印刷するには

double a; 
//some statements for a 
LOG(INFO) << a; 

完全精度でaを印刷するにはどうすればよいですか?

+0

[std :: setprecision](http://en.cppreference.com/w/cpp/io/manip/setprecision)を試してください。 –

答えて

1

あなたは完全な精度が必要な場合は、のいずれかを使用することができ、それが動作しない場合は、std::stringに変換し、またstd::stringstream

#include <sstream>  // std::stringstream 
#include <iomanip>  // std::setprecision 

double a = 3.141592653589793238; 
std::stringstream ss; 
ss << std::fixed << std::setprecision(15) << a; 
LOG(INFO) << ss.str(); 

を使用することができます

#include <iomanip>  // std::setprecision 

double a = 3.141592653589793238; 
LOG(INFO) << std::fixed << std::setprecision(15) << a; 

を試してみてくださいthis answerで上回っています。

最初の方法は、それを行う最も効率的な方法である可能性が高いです。

関連する問題