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());
我使用 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());