本人不会用VB,无奈临时需要改一个VB程序。我会得到一个字符串,例如“0014454453”,需要把它转成16进制的4位字符串。转法如下:作为数字 14454453 转换为16进制数  DC8EB5,然后高位在后,地位在前,得到 “B58EDC00”哪位大虾不吝赐教,十万火急,谢谢。

解决方案 »

  1.   

        Dim i As Long
        Dim j As Long
        Dim byt(3) As Byte
        
        i = 14454453
        CopyMemory byt(0), i, 4
        For j = 0 To 3
            Debug.Print Hex(byt(j))
            
        Next
      

  2.   

    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)字符串转成数字可以用函数val,具体用法请参考MSDN
      

  3.   


    Private Sub Command1_Click()
      Dim s As String, s1 As String
      Dim i As Integer, n As Long
      
      s = "0014454453"
      n = s
      s = Right("00" & Hex(n), 8)
      For i = Len(s) To 1 Step -2
          s1 = s1 & Mid(s, i - 1, 2)
      Next
      MsgBox s1
      
    'B58EDC00
    End Sub