用vb6接受的串口数据97 C6 33 33 32 16怎样每个都减去33,并前后调换显示000093.64
用vb6接受的串口数据97C63333怎样每个都减去33,并前后调换显示000093.64上面的多了3216两个,是没有的。...
用vb6接受的串口数据97 C6 33 33 怎样每个都减去33,并前后调换显示000093.64
上面的多了32 16两个,是没有的。 展开
上面的多了32 16两个,是没有的。 展开
1个回答
展开全部
Private Sub Command1_Click()
Dim a(4) As Integer
Dim out(4), result As String
a(0) = &H97
a(1) = &HC6
a(2) = &H33
a(3) = &H33
For i = 0 To 3
a(i) = a(i) - &H33
out(i) = Hex$(a(i))
out(i) = IIf(Len(out(i)) = 1, "0" + out(i), out(i))
Next
result = out(3) + out(2) + out(1) + "." + out(0)
Debug.Print result
End Sub
上面假设a(4) 存放的是串口来的4个字节16进制数。
out(4)存放转换为字符串表示的16进制数
out(i) = IIf(Len(out(i)) = 1, "0" + out(i), out(i))的意思是如果out(i)只有一个字节,前面加“0”
补足,使每个字节的16进制数
字符串均为两个字符,如“0” 变为“00”
result为最终结果。可在立即窗口查看。
Dim a(4) As Integer
Dim out(4), result As String
a(0) = &H97
a(1) = &HC6
a(2) = &H33
a(3) = &H33
For i = 0 To 3
a(i) = a(i) - &H33
out(i) = Hex$(a(i))
out(i) = IIf(Len(out(i)) = 1, "0" + out(i), out(i))
Next
result = out(3) + out(2) + out(1) + "." + out(0)
Debug.Print result
End Sub
上面假设a(4) 存放的是串口来的4个字节16进制数。
out(4)存放转换为字符串表示的16进制数
out(i) = IIf(Len(out(i)) = 1, "0" + out(i), out(i))的意思是如果out(i)只有一个字节,前面加“0”
补足,使每个字节的16进制数
字符串均为两个字符,如“0” 变为“00”
result为最终结果。可在立即窗口查看。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询