3

我正在尝试打印这样的双变量a

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

如何a使用全精度打印?

4

1 回答 1

3

你应该试试

#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();

或者,如果您想要完全精确,您可以使用上述答案之一。

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

于 2016-04-03T10:22:42.360 回答