比如数据m=&H67,hex(m)得到字符串67;而对于&H6,用hex函数返回得到字符6,事实上是前面还有一个0省略了吧。因为我需要返回字符串06。
所以我每次总是要判断这个数是不是小于&H10,如果小于,那么字符串s=hex(0)+hex(m);否则s=hex(m);
请问有没有这样的函数直接返回两个字符的,谢谢

解决方案 »

  1.   

    一般采用这样的方法:
    right("000" + hex(m), 4)
           ^              ^转换之后的十六进制数的位数
           此处字符0的个数不少于 转换之后的十六进制数的位数-1
      

  2.   

    当然, 可以自己写个函数, 例如:Option ExplicitFunction HexEx(ByVal iValue As Long, ByVal iBit As Integer) As String
        HexEx = Right(String(iBit, "0") & Hex(iValue), iBit)
    End FunctionPrivate Sub Form_Load()
        Debug.Print HexEx(9, 2)
        Debug.Print HexEx(100, 4)
        End
    End Sub