#include <QByteArray>
#include <QDataStream>
QByteArray floatToQByteArray(float value) {
QByteArray array;
QDataStream stream(&array, QIODevice::WriteOnly);
stream.setFloatingPointPrecision(QDataStream::SinglePrecision);
stream << value;
return array;
}
float qByteArrayToFloat(const QByteArray &array) {
float value = 0.0f;
QDataStream stream(array);
stream.setFloatingPointPrecision(QDataStream::SinglePrecision);
stream >> value;
return value;
}
int main()
{
float myFloat = 3.14159f;
QByteArray byteArray = floatToQByteArray(myFloat);
// 打印转换后的QByteArray内容
for (char c : byteArray)
{
printf("%02x ", c);
}
printf("\n");
// 从QByteArray转换回float
float result = qByteArrayToFloat(byteArray);
printf("Converted back to float: %f\n", result);
}
运行结果