如何通过 google glog 打印完整的双精度

How to print a full double precision by google glog

我正在尝试像这样打印双精度变量 a

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

如何使用全精度打印 a

你应该试试

#include <iomanip>      // std::setprecision

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

如果这不起作用,您可以将其转换为 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();

或者,如果您想要完全精确,您可以将上述方法之一与 this answer 结合使用。

第一种方法很可能是最有效的方法。