QString strHex = ui.six_float1->text();
int c = strHex.toInt(nullptr, 16);
float d = *(float*)&c;
QString radiation = QString("%1").arg(d);
ui.six_float2->setText(radiation);
这段代码是从网上复制来的,经实际运行发现,只能转化正数,不能转化负数。
例如:输入 4016C8B4 可以转换为2.356,但是输入C016C8B4不能转化成-2.356。
经单步调试发现,十六进制转到int型变量c的时候就错了,toInt失败。
百思不得其解,有没有人给解答一下。