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

Pugi XML: How to set the precision for float numbers

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

我该怎么做?

试试这个:

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