如题
我用485读取流量计传回数值 68 73 40 B9 (16进制)
实际流量计上显示为5.794,要如何将上面那16进制转换为
一般正常使用的10进制
厂商给的资料是说明输出格式为 32位元 浮点数
就是要16进制的32位元浮点数,转成可读的10进制
求解
我用485读取流量计传回数值 68 73 40 B9 (16进制)
实际流量计上显示为5.794,要如何将上面那16进制转换为
一般正常使用的10进制
厂商给的资料是说明输出格式为 32位元 浮点数
就是要16进制的32位元浮点数,转成可读的10进制
求解
Dim R(3) As Byte
On Error GoTo hErr
Data = Replace(Data, " ", "")
StrToSng = 0
R(0) = CByte("&H" & Mid(Data, 3, 2))
R(1) = CByte("&H" & Mid(Data, 1, 2))
R(2) = CByte("&H" & Mid(Data, 7, 2))
R(3) = CByte("&H" & Mid(Data, 5, 2))
CopyMemory StrToSng, R(0), LenB(StrToSng)
hErr:
End Function
用法:
Debug.Print StrToSng("687340B9")
5.794