C # Как отформатировать число в шестнадцатеричный с префиксом «0x» - PullRequest
7 голосов
/ 25 октября 2010

Как отформатировать число в шестнадцатеричное с префиксом '0x'?

Например:

int space = 32;
MessageBox.Show(space.ToString("'0x'X4")); // Output 0xX4 instead of 0x0020

Я перешел по этой ссылке: Строки пользовательского числового формата http://msdn.microsoft.com/en-us/library/0c899ak8.aspx Литеральный строковый разделитель: указывает, что вложенные символы должны быть скопированы в результирующую строку без изменений.Но это не работает для 'X4' (это работает для '#'), что-то странное.

Я использую его в DataGridView.DefaultCellStyle.Format, поэтому я не могу использовать:

"0x{0:X4}", space

Спасибо.Питер

Ответы [ 2 ]

6 голосов
/ 08 августа 2012
int space = 32;
MessageBox.Show("0x"+space.ToString("X"));

Если вы хотите вывести 0x0020:

MessageBox.Show("0x"+space.ToString("X4"));
2 голосов
/ 04 ноября 2015
string.Format("0x{0:x8}", ii);
...