系统需要在数据流中存储的为longlongint的长整数类型,不会出现double等浮点数类型。所以要将数据根据需要选择添加小数点(数据流中是12345,当类型为两位小数点的浮点数时,显示在系统上应该是123.45。当从系统向数据流中录入的时候应该是输入123后自动补充小数点123.00,数据流中数据为12300)
//将下位机保存的值读入页面中 控制位数版本
void numLoad(QLineEdit *edit,void *addr,int n,int point)
{
//当存储变量为4字节的时候
if (n == 4)
{
edit->setText(tr("%1").arg(QString::number((float)(*(int *)addr)/std::pow(10, point),'f',point)));
}
//当存储变量为2字节的时候
else if(n == 2)
{
edit->setText(tr("%1").arg(QString::number((float)(*(short int *)addr)/std::pow(10, point),'f',point)));
}
//当存储变量为1字节的时候
else if(n == 1)
{
edit->setText(tr("%1").arg(QString::number((float)(*(char *)addr)/std::pow(10, point),'f',point)));
}
}