gpt4 book ai didi

c++ - JsonCpp - 小数点后的零被截断

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:15:20 29 4
gpt4 key购买 nike

我最近升级到 JsonCpp 版本 1.6.5。

我注意到小数点后的数字为零的 float 在打印时会被截断。例如 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 数据类型。它不区分整数和 float 。 (当然接收代码可能只准备在某些字段中接受整数值,但那是另一个问题。几乎所有客户端在期望浮点值时都可以接受没有小数点的数字)。

关于c++ - JsonCpp - 小数点后的零被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34354797/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com