qt qint64转qjson写到文件里,保持精度
时间: 2023-12-24 14:06:16 浏览: 111
double类型精度丢失;double转换到64位整数
要将 qint64 类型的数据转换为 QJson 写入文件并保持精度,您可以使用 QVariant 类型进行转换。首先,将 qint64 值存储在 QVariant 变量中,然后将其转换为 QJsonValue,并将其设置为 QJsonObject 的属性。最后,将 QJsonObject 写入文件中。
以下是一个示例代码:
```cpp
#include <QFile>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
#include <QVariant>
// 将 qint64 转换为 QJson
QJsonValue qint64ToQJson(qint64 value) {
QVariant variantValue(value);
return QJsonValue::fromVariant(variantValue);
}
int main() {
// 创建一个 qint64 值
qint64 myValue = 1234567890123456789;
// 创建一个 QJsonObject,并将 qint64 转换为 QJson
QJsonObject jsonObject;
jsonObject["value"] = qint64ToQJson(myValue);
// 将 QJsonObject 转换为 QJsonDocument
QJsonDocument jsonDocument(jsonObject);
// 将 QJsonDocument 写入文件
QFile outputFile("output.json");
if (outputFile.open(QIODevice::WriteOnly)) {
outputFile.write(jsonDocument.toJson());
outputFile.close();
}
return 0;
}
```
上述代码将 qint64 值存储在名为 "value" 的 QJsonObject 属性中,并将整个 QJsonObject 转换为 QJsonDocument。然后,将 QJsonDocument 写入名为 "output.json" 的文件中。您可以根据您的需求修改代码。
阅读全文