Peter Lee
Peter Lee

Reputation: 13809

C# How to Format a Number to a Hexicadecimal with a Prefix '0x'

How to Format a Number to a Hexicadecimal with a Prefix '0x'?

Such as:

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

I followed this link: Custom Numeric Format Strings http://msdn.microsoft.com/en-us/library/0c899ak8.aspx Literal string delimiter: Indicates that the enclosed characters should be copied to the result string unchanged. But it does not work for 'X4' (it does work for '#'), kind of weird.

I'm using it in a DataGridView.DefaultCellStyle.Format, so I cannot use:

"0x{0:X4}", space

Thanks. Peter

Upvotes: 7

Views: 13594

Answers (2)

Andrew Rokicki
Andrew Rokicki

Reputation: 202

int space = 32;
MessageBox.Show("0x"+space.ToString("X"));

If you want to output 0x0020:

MessageBox.Show("0x"+space.ToString("X4"));

Upvotes: 6

Romerik Rousseau
Romerik Rousseau

Reputation: 97

string.Format("0x{0:x8}", ii);

Upvotes: 3

Related Questions