JsonCpp - 小数点后的零被截断

时间:2015-12-18 11:37:09

标签: 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(object);

使用Xcode 6.3.2在OS X上运行时的输出是:

{
   "float1" : 2,
   "float2" : 2.0999999046325684
}

1 个答案:

答案 0 :(得分:1)

这并不奇怪。 JSON格式只有NUMBER数据类型。它不区分整数和浮点。 (当然接收代码可能只准备在某些字段中接受整数值,但这是一个不同的问题。几乎所有客户端都可以在期望浮点值时接受没有小数点的数字。)