Pugi XML:如何设置浮点数的精度

时间:2017-11-28 13:51:38

标签: c++ xml c++11 pugixml

我使用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>

我该怎么做?

1 个答案:

答案 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());