2010-10-25 26 views
6

如何格式化号码与一个前缀加“0x”一个Hexicadecimal?C#如何格式化号码到Hexicadecimal一个前缀加“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 

感谢。 彼得

+0

正如我所说的,我在一家DataGridView.DefaultCellStyle使用它。格式,所以我不能使用这个。 – 2010-10-25 07:19:37

+0

然后你可以使用自定义格式吗? http://msdn.microsoft.com/en-us/library/z1cc356h.aspx – 2010-10-25 07:41:48

+1

不幸的是,“标准”格式化字符串(“X4”)是“自定义”格式化字符串(“0000”)的*替代* ,所以你不能混用它们。 – Gabe 2010-10-25 08:05:52

回答

0
+0

嗨Anurag,感谢您的链接。但我认为这个解决方案听起来像是一种类似解决方法的解决方案,尽管它工作正常。我认为应该允许我们在设计时直接设置格式('#'作品,但'X'不是) – 2010-10-25 20:12:25

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

如果你想输出0x0020

MessageBox.Show("0x"+space.ToString("X4")); 
1
string.Format("0x{0:x8}", ii);