Qt 是 JSON 精度的两倍

Qt double from JSON precision

本文关键字:两倍 JSON 精度 Qt      更新时间:2023-10-16

我从服务器收到一个JSON数组,如下所示:[0.00015099, 1, -672.41163] 这些值是订单簿条目。如果我尝试将所有值解析为双精度值,我的价格与 JSON 数组中的价格略有不同。我很清楚,这是因为双重转换而发生的,但是如何围绕像这样的一些疯狂的东西进行编程呢? 还需要这些值进行计算、比较等。 我正在使用Qt5和C++。

有什么提示吗?

好吧,如果你想处理钱,你应该使用一些十进制类型,以确保安全。不幸的是,由于某种原因,Qt没有十进制类型。因此,如果您别无选择,最终可能会得到一些舍入规则/约定。否则,您最好实现自己的实现或使用一些现有的解决方案,如 qdecimal。