如何将整数转换为4位十六进制字符串?

时间:2016-08-20 15:28:33

标签: vb.net vba

我需要将一个2字节有符号整数转换为它的十六进制等效字符串,但我需要字符串为4个字符。我已经尝试过Hex()函数但是当我转换0或者说10时,结果是0或A.我需要结果为0000或000A。任何提示或建议?

5 个答案:

答案 0 :(得分:4)

只是

 Dim hexS As String = i.ToString("X4")

The Hexadecimal (X) Format specifier中对此进行了详细解释 X之后的4指定了输出中需要多少个字符,如果没有足够的字符,则缺少的字符将作为适当数量的" 0"提供。

答案 1 :(得分:2)

使用

    Dim i As Integer = 10
    Dim hexS As String = i.ToString("X4")

答案 2 :(得分:2)

由于您还标记了问题VBA,因此这是一种VBA方式

Right("0000" & Hex(i), 4)

答案 3 :(得分:1)

如果您在使用Hex而不是字符串格式时感到厌烦,那么您可以使用:

Dim Number As Integer
Dim Output As String

Number = 10
Output = ("000" & Hex(Number))
Output = Output.Substring(Output.Length - 4, 4)
Console.WriteLine(Output)

或者对数字使用字符串格式,如下所示:

Output = Number.ToString("X4")
Console.WriteLine(Output)

两种情况下的输出都为000A

答案 4 :(得分:0)

VB方式

Format(i, "X4")

Hex(i).PadLeft(4, "0"c)

在Visual Studio 2015中:

s = $"{i:X4}"