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 ℃

相关推荐
p***h6433 小时前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
散峰而望3 小时前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
Porunarufu3 小时前
Java·关于List
java·开发语言
子不语1804 小时前
Python——函数
开发语言·python
ndjnddjxn4 小时前
Rust学习
开发语言·学习·rust
月光技术杂谈4 小时前
实战:C驱动框架嵌入Rust模块的互操作机制与完整流程
c语言·开发语言·rust·ffi·跨语言·bindgen·互操作
t198751284 小时前
基于MATLAB的指纹识别系统完整实现
开发语言·matlab
笑非不退4 小时前
C# c++ 实现程序开机自启动
开发语言·c++·c#
专注于大数据技术栈4 小时前
java学习--final
java·开发语言·学习
gihigo19985 小时前
基于MATLAB的IEEE 14节点系统牛顿-拉夫逊潮流算法实现
开发语言·算法·matlab