2011-01-14 45 views
78

Tôi cần phải chuyển đổi và int thành chuỗi hex.int vào chuỗi hex

khi chuyển đổi 1400 => 578 sử dụng ToString("X") hoặc ToString("X2") nhưng tôi cần nó như 0578.

Có ai có thể cung cấp cho tôi IFormatter để đảm bảo rằng chuỗi có 4 ký tự không?

+1

Nhìn vào định dạng numerics [ở đây] (http://msdn.microsoft.com/en-us/library/dwhawy9k (VS.71) .aspx). – Ariel

Trả lời

125

Sử dụng ToString("X4").

4 có nghĩa là chuỗi sẽ dài 4 chữ số.

Tham chiếu: The Hexadecimal ("X") Format Specifier on MSDN.

+1

Không tốt cho số âm, sử dụng loại 'ngắn' thay vì 'int' –

+1

Để in một int32, nó chỉ nên sử dụng "X8" chứ không phải "X4". Nếu bạn muốn X4, bạn thực sự cần đảm bảo sử dụng Int16. – Nyerguds

2

Câu trả lời trước không tốt cho số âm. Sử dụng một loại ngắn thay vì int

 short iValue = -1400; 
     string sResult = iValue.ToString("X2"); 
     Console.WriteLine("Value={0} Result={1}", iValue, sResult); 

Bây giờ kết quả là FA88

Các vấn đề liên quan