我使用pugi :: XML解析器,我想设置浮点数的精度。我已经在float变量上使用了舍入函数,但是在使用pugi :: xml进行打印时,它会打印出6位十进制数字。
我使用下面的语句在C ++ 11中打印值:
subNode.append_child(pugi :: node_pcdata).set_value(to_string(doubleVal).c_str());
示例:
<value>97.802000</value>
必须打印为
<value>97.802</value>
我该怎么做?
答案 0 :(得分:0)
试试这个:
#include <iomanip> // setprecision
#include <sstream> // stringstream
std::string toStringPrecision(double input,int n)
{
stringstream stream;
stream << std::fixed << setprecision(n) << input;
return stream.str();
}
然后你打电话给:
subNode.append_child(pugi::node_pcdata).set_value(toStringPrecision(doubleVal,3).c_str());