我尝试像这样打印一个双变量a
。
double a;
//some statements for a
LOG(INFO) << a;
如何使用全精度打印a
?
答案 0 :(得分:1)
你应该试试
#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之一。
第一种方法很可能是最有效的方法。