Преобразовать число в шестнадцатеричное значение в.NET

Мне нужно преобразовать целое число в шестнадцатеричное значение. Это будет выглядеть так:

0x0201cb77192c851c

Когда я делаю

string hex = int.ToString("x")

в C# возвращается

201cb77192c851c

Как я могу получить требуемый результат?

2 ответа

Решение

Одним из способов является добавление нужного количества цифр после "х". Это будет дополнять вывод начальными нулями по мере необходимости.

"0x" + myLong.ToString("x16");

или же

string.Format("0x{0:x16}", myLong);

Из шестнадцатеричного ("X") спецификатора формата:

Спецификатор точности указывает минимальное количество цифр, желаемое в результирующей строке. При необходимости число дополняется нулями слева от него, чтобы получить количество цифр, заданное спецификатором точности.

string hex = "0x" + int.ToString("x16")
Другие вопросы по тегам