C++ JsonCpp-小数点后的零被截断
我最近升级到JsonCpp版本1.6.5 我注意到小数点后的数字为零的浮点数在打印时会被截断。例如,C++ JsonCpp-小数点后的零被截断,c++,jsoncpp,C++,Jsoncpp,我最近升级到JsonCpp版本1.6.5 我注意到小数点后的数字为零的浮点数在打印时会被截断。例如,2.0打印为2 我以前使用的版本(v0.6.0)没有这样做 这种行为是预期的吗 更新 以下代码演示了所描述的问题: Json::Value object; object["float1"] = 2.0f; object["float2"] = 2.1f; Json::StyledWriter styledWriter; std::cout << styledWriter.write(
2.0
打印为2
我以前使用的版本(v0.6.0)没有这样做
这种行为是预期的吗
更新
以下代码演示了所描述的问题:
Json::Value object;
object["float1"] = 2.0f;
object["float2"] = 2.1f;
Json::StyledWriter styledWriter;
std::cout << styledWriter.write(object);
这并不奇怪。JSON格式只有一个数字数据类型。它不区分整数和浮点。(当然,接收代码可能只准备接受某些字段中的整数值,但这是另一个问题。几乎所有客户机在需要浮点值时都可以接受不带小数点的数字).您能给出一个显示问题的代码示例吗?但为什么不同版本之间的输出存在差异?您必须查看差异才能回答这个问题。找不到任何解释。这就是问题所在。
{
"float1" : 2,
"float2" : 2.0999999046325684
}