【问题标题】:How to convert QVector<double> to QByteArray and compress it如何将 QVector<double> 转换为 QByteArray 并对其进行压缩
【发布时间】:2020-04-30 11:50:09
【问题描述】:

我想将 QVector 转换为 QByteArray。我正在使用这样的东西:

QByteArray bytesArray
QDataStream out(&bytesArray ,QIODevice::WriteOnly);
out << someVector;
bytesArray = qCompress(bytesArray, 5);

然后阅读:

bytesArray = qUncompress(bytesArray)
QDataStream in(bytesArray);
QVector<qreal> otherVector;
in >> otherVector;

但我有一个问题。我保存了像 1.23124121242135 这样的数字,读完后我得到了 1.23124。如何存储和读取全号?

【问题讨论】:

标签: c++ qt double qbytearray qvector


【解决方案1】:

如果由于任何原因它不允许存储值(例如 0.0 +10 或更多小数,你可以做一个解决方法 1 转换 double t 字符串并将 t_size 转换为 int 2 根据所述值的长度创建一个 long 或另一个 int 并将其乘以原始的大小并用新的 int 值保存大小。

如果原件是 1.876649018 大小是 10 所以 乘数是 10^10

3 取回来只是新的 long int 值除以大小的问题

这是我现在唯一想到的……

【讨论】:

    猜你喜欢
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 2010-11-15
    • 1970-01-01
    • 2012-03-21
    • 2014-12-10
    • 2015-02-05
    相关资源
    最近更新 更多