我想将 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。我如何存储和读取完整数字?
最佳答案
如果出于任何原因它不允许存储值(例如 0.0 +10 或更多小数,你可以做一个解决方法 1 转换双 t 字符串并将 t_size 转换为 int 2 根据所述值的长度创建一个 long 或另一个 int 并将其与原始大小相乘,并用新的 int 值保存大小。
如果原始是 1.876649018 大小是 10 所以 乘数是 10^10
3 取回它只是将新的 long int 值除以大小的问题
这是现在唯一想到的...
关于c++ - 如何将 QVector<double> 转换为 QByteArray 并进行压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59722157/