JsonCpp-小数点后的零被截断

JsonCpp - Zero after decimal point is truncated

本文关键字:小数点 JsonCpp-      更新时间:2023-10-16

我最近升级到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
}

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