Qt 类型转换

十六进制 十进制 二进制 转换 及 位移操作。

QString strRec ="FF0102030405060708090A0B0C0D0E0F";

将十六进制字符串转换成十进制

QString str1= strRec.mid(6,4);

将十六进制字符串转换成double类型

double d1= (double)str1.toInt(0,16);

将double类型/100,保留到小数点后3位

QString s1 = QString::number(d1/100,'f',3);

以下举例如何从温湿度传感器解析数据:

double 转 string 保留小数点后1位

//温度传感器数据一般都是十六进制的,如 

HEX = 10 06 

BIN  = 0001 0000 0000 0110

DEC = 4102 

对应温度41.02度

ulong tmp = /(uchar)/dataTemp[3]; //第3为10 BIN=0001 0000

tmp<<=8; //向左移8位(高位),后8位给第4用(低位)

tmp |= dataTemp[4]; //按位或操作,将它们合并到tmp变量中

double dTmp = (double)tmp / 100;

QString sTmp = "环境温度 "+QString::number(dTmp,'f',1)+" ℃";

// ui->lbl_Tmp->setText("strCor"); // 环境温度 36.03 ℃

你可能感兴趣的:(QT,C++,qt,开发语言)