Как преобразовать целое число в 4-значную шестнадцатеричную строку?

vb.net vba

8255 просмотра

5 ответа

Мне нужно преобразовать 2-байтовое целое число со знаком в строку его шестнадцатеричного эквивалента, но мне нужно, чтобы строка состояла из 4 символов. Я пробовал функцию Hex (), но когда я конвертирую 0 или, скажем, 10, результат равен 0 или A. Мне нужно, чтобы результат был 0000 или 000A. Любые советы или рекомендации?

Автор: C Lampo Источник Размещён: 08.11.2019 11:30

Ответы (5)


4 плюса

Просто

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

Это хорошо объясняется в спецификаторе шестнадцатеричного (X) формата .
4 после X указывает, сколько символов вы хотите в выходных данных, и если недостаточно символов, пропущенные задаются как соответствующее число «0».

Автор: Steve Размещён: 20.08.2016 03:36

2 плюса

использование

    Dim i As Integer = 10
    Dim hexS As String = i.ToString("X4")
Автор: dbasnett Размещён: 20.08.2016 03:32

2 плюса

Поскольку вы также пометили вопрос VBA, вот способ VBA сделать это

Right("0000" & Hex(i), 4)
Автор: arcadeprecinct Размещён: 20.08.2016 04:56

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)

Выход в обоих случаях с be 000A.

Автор: Martin Размещён: 20.08.2016 03:33

0 плюса

VB путь

Format(i, "X4")

или же

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

В Visual Studio 2015:

s = $"{i:X4}"
Автор: Slai Размещён: 20.08.2016 04:03
Вопросы из категории :
32x32