2010-10-25 75 views
6

Cách định dạng số thành số thập lục phân với tiền tố '0x'?C# Cách định dạng số thành số thập lục phân với tiền tố '0x'

Chẳng hạn như:

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

Tôi đi theo liên kết này: Tuỳ chỉnh Numeric Format Strings http://msdn.microsoft.com/en-us/library/0c899ak8.aspx Literal chuỗi delimiter: Chỉ ra rằng các nhân vật kèm theo nên được sao chép vào chuỗi kết quả không thay đổi. Nhưng nó không hoạt động cho 'X4' (nó hoạt động với '#'), loại kỳ lạ.

Tôi đang sử dụng nó trong một DataGridView.DefaultCellStyle.Format, vì vậy tôi không thể sử dụng:

"0x{0:X4}", space 

Cảm ơn. Peter

+0

Như tôi đã nói, tôi đang sử dụng nó trong một DataGridView.DefaultCellStyle. Định dạng, vì vậy tôi không thể sử dụng nó. –

+0

Bạn có thể sử dụng định dạng tùy chỉnh sau đó không? http://msdn.microsoft.com/en-us/library/z1cc356h.aspx –

+1

Thật không may, các chuỗi định dạng "Chuẩn" ("X4") là một * thay thế * đối với các chuỗi định dạng "Tùy chỉnh" ("0000") , vì vậy bạn không thể trộn chúng. – Gabe

Trả lời

0

hãy thử kiểm tra ở đây: Creating a custom format string in a dataGridView

+0

Hi Anurag, cảm ơn bạn đã liên kết của bạn. nhưng tôi nghĩ giải pháp đó nghe có vẻ giống với giải pháp tương tự, mặc dù nó hoạt động. Tôi nghĩ rằng chúng ta nên được phép trực tiếp đặt định dạng trong thiết kế thời gian ('#' hoạt động, nhưng 'X' không) –

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

Nếu bạn muốn đầu ra 0x0020:

MessageBox.Show("0x"+space.ToString("X4")); 
1
string.Format("0x{0:x8}", ii); 
Các vấn đề liên quan