【发布时间】:2011-07-01 22:42:42
【问题描述】:
如何在VB6中将十六进制值转换为十进制值?
我只是想看看这是否有效:
Dim hexVal as string
hexVal = "#7B19AB"
clng("&H" & hexVal)
但是,我收到“Type MisMatch”错误。
【问题讨论】:
-
啊,您的意思是“将十六进制字符串转换为二进制长整数”。根本不涉及“小数”。
标签: vb6
如何在VB6中将十六进制值转换为十进制值?
我只是想看看这是否有效:
Dim hexVal as string
hexVal = "#7B19AB"
clng("&H" & hexVal)
但是,我收到“Type MisMatch”错误。
【问题讨论】:
标签: vb6
去掉#号
Dim hexVal as string
hexVal = "7B19AB"
clng("&H" & hexVal)
【讨论】:
去掉 hexVal 字符串中的数字符号 (#)。
【讨论】:
应该这样做
Dim hexVal as String
hexVal = "#7B19AB"
Dim intVal as Integer
intVal = Val("&H" & Replace(hexVal, "#", ""))
【讨论】:
试试看:
value=CDbl("&H" & HexValue)
或
value=CInt("&H" & HexValue) 'but range +- 32,768
【讨论】:
试试这个方法:
Print Hex(Asc(Text1.Text))
【讨论】:
要非常小心。
Dim hexVal as string
hexVal = "FFFF"
clng("&H" & hexVal)
将返回 -1 值,因为它认为您的 HEX 值已签名。 看看 F00A 发生了什么,它再次认为它已签名。
用 ABS 替换 Clng。
【讨论】:
Dim uzunluk as Integer
On Error Resume Next
uzunluk = Len(Text1.Text)
For i = 0 To uzunluk
Text1.SelStart = i
Text1.SelLength = 1
Print Hex(Asc(Text1.SelText))
Next i
【讨论】:
Dim hexVal As String
Dim str As String
Dim uzunluk As Integer
On Error Resume Next
hexVal = "#7B19AB"
str = Replace(hexVal, "#", "")
Text1.Text = str
uzunluk = Len(Text1.Text)
For i = 0 To uzunluk
Text1.SelStart = i
Text1.SelLength = 1
Print Hex(Asc(Text1.SelText))
Next i
【讨论】: