【问题标题】:Convert hex value to a decimal value in VB6在VB6中将十六进制值转换为十进制值
【发布时间】:2011-07-01 22:42:42
【问题描述】:

如何在VB6中将十六进制值转换为十进制值?

我只是想看看这是否有效:

Dim hexVal as string
hexVal = "#7B19AB"
clng("&H" & hexVal)

但是,我收到“Type MisMatch”错误。

【问题讨论】:

  • 啊,您的意思是“将十六进制字符串转换为二进制长整数”。根本不涉及“小数”。

标签: vb6


【解决方案1】:

去掉#号

Dim hexVal as string
hexVal = "7B19AB"
clng("&H" & hexVal)

【讨论】:

【解决方案2】:

去掉 hexVal 字符串中的数字符号 (#)。

【讨论】:

    【解决方案3】:

    应该这样做

    Dim hexVal as String
    hexVal = "#7B19AB"
    Dim intVal as Integer
    intVal = Val("&H" & Replace(hexVal, "#", ""))
    

    【讨论】:

      【解决方案4】:

      试试看:

      value=CDbl("&H" & HexValue) 
      

      value=CInt("&H" & HexValue) 'but range +- 32,768
      

      【讨论】:

      • 感谢您发布该答案,但它与已发布并接受的其他人重复。如果您想改进现有分析器,请对其进行编辑,社区中的其他人将对其进行审核。
      【解决方案5】:

      试试这个方法:

      Print Hex(Asc(Text1.Text))
      

      【讨论】:

        【解决方案6】:

        要非常小心。

        Dim hexVal as string
        hexVal = "FFFF"
        clng("&H" & hexVal)
        

        将返回 -1 值,因为它认为您的 HEX 值已签名。 看看 F00A 发生了什么,它再次认为它已签名。

        用 ABS 替换 Clng。

        【讨论】:

          【解决方案7】:
          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
          

          【讨论】:

            【解决方案8】:
            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
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-02-05
              • 1970-01-01
              • 1970-01-01
              • 2011-08-04
              • 2018-01-22
              • 2012-11-30
              • 2023-01-16
              相关资源
              最近更新 更多