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