如何通过 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 结合使用。
第一种方法很可能是最有效的方法。
我正在尝试像这样打印双精度变量 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 结合使用。
第一种方法很可能是最有效的方法。