2011-02-15 66 views
18

我有9999如何將一個整數轉換爲C#中的固定長度的十六進制字符串?

我可以轉換爲固定長度字符串最大值的整數變量(4-字符):

value.ToString("0000"); 

,我可以將其轉換爲十六進制:

value.ToString("X"); 

我想將它轉換爲四個字符的十六進制字符串(如果值被轉換爲小於四位十六進制值,則在左側填充0)。我嘗試了以下不起作用的內容。

value.ToString("0000:X"); 

好的,我可以檢查十六進制字符串的長度和填充左邊的零。

但是有沒有簡單的方法?

回答

33

使用X格式說明後一個號碼來指定左填充:value.ToString("X4")

10
String.Format("{0:X2}", intValue) 
-1

下面是另一種方法, 可以定義一個函數,並將它傳遞2個值,一個實際的數目和第二是要修復的最大長度。 即

public string FixZero(string str, int maxlength) 
{ 
    string zero = "000000000000000000000000000000000000000"; 
    int length = str.Length; 
    int diff = maxlength- length; 
    string z = zero.Substring(1, diff); 
    z = z + str; 
    return z; 
} 

需要整數格式0012,FixZero( 「12」,4) 或00,FixZero( 「1234」,7)

+0

我通知你[返回年11月5] (http://stackoverflow.com/questions/4011572/how-to-load-data-using-jquery-and-json/13238275#comment18035497_13238275)關於鏈接到您自己的網站包含您的披露的要求,但你再次失敗了。 – 2012-12-04 21:17:46

相關問題