如何将double转换为Hex字符串?

时间:2016-08-02 15:31:17

标签: vba

我正在使用visual basic编辑项目,并且没有丰富的vb经验。

我有一个文本框,用户可以在其中输入数字。该数字应存储为双精度数。然后,我需要将数字转换为它的等效16字节十六进制表示。关于如何做到这一点的任何提示?

1 个答案:

答案 0 :(得分:0)

我刚遇到这种问题。我的想法是从函数Now()中获取时间并用逗号分割它。然后将其转换为十六进制。经过一段时间的研究,我想出了输入应该四舍五入的想法。到8,否则我们可能会出现溢出错误。这是我的代码:

Public Function codify_time() As String

    If [set_in_production] Then On Error GoTo codify_Error

    Dim dbl_01                  As Variant
    Dim dbl_02                  As Variant
    Dim dbl_now                 As Double

    dbl_now = Round(Now(), 8)

    dbl_01 = Split(CStr(dbl_now), ",")(0)
    dbl_02 = Split(CStr(dbl_now), ",")(1)

    codify_time = Hex(dbl_01) & "_" & Hex(dbl_02)

   On Error GoTo 0
   Exit Function

codify_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure codify of Function TDD_Export"

End Function