可以有个变通的方法:private sub command1_click()dim l as longl = "&H" & text1.text '前提是textbox的输入字符必须符合十六进制的表达,进行输入判断吧 '比如限制0-9 A-F以外的字符输入等等 text1.text = lend sub
Private Function HexToLng(ByVal strHex As String) As Long Dim i As Integer, j As Integer, v As Integer, s As String strHex = Trim(strHex) For i = CByte(Len(strHex)) To 1 Step -1 s = Mid(strHex, i, 1) Select Case UCase(s) Case "A": v = 10 Case "B": v = 11 Case "C": v = 12 Case "D": v = 13 Case "E": v = 14 Case "F": v = 15 Case Else: v = CInt(s) '0~9 End Select HexToLng = HexToLng + v * (16 ^ j) j = j + 1 Next End Function
public function HexToDec(byval sHex as string) as long HexToDec= "&h" & sHex end function
可以把它转换为10进制的数.
'前提是textbox的输入字符必须符合十六进制的表达,进行输入判断吧
'比如限制0-9 A-F以外的字符输入等等
text1.text = lend sub
Dim i As Integer, j As Integer, v As Integer, s As String
strHex = Trim(strHex)
For i = CByte(Len(strHex)) To 1 Step -1
s = Mid(strHex, i, 1)
Select Case UCase(s)
Case "A": v = 10
Case "B": v = 11
Case "C": v = 12
Case "D": v = 13
Case "E": v = 14
Case "F": v = 15
Case Else: v = CInt(s) '0~9
End Select
HexToLng = HexToLng + v * (16 ^ j)
j = j + 1
Next
End Function
HexToDec= "&h" & sHex
end function
Val(&Hb)=11