【发布时间】: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。如何存储和读取全号?
【问题讨论】:
-
请提供minimal reproducible example,说明您是如何获得这些数字的。你做的事情或多或少等同于
qreal r = 1.23124121242135,然后是std::cout << r(QDataStreams 和压缩除外)?如果是这样,您可能想查看"Is floating point math broken?"。
标签: c++ qt double qbytearray qvector