开发者

How to convert an integer to fixed length hex string in C#?

I have an integer variable with max value of 9999.

I can convert to fixed length string (4-characters):

value.ToString("0000");

and I can convert it to hex:

value.ToString("X");

I want to convert it to a hex string of four characters (padded with 0 at the left if the value is converted to less than four digits hex value). I tried the following which didn't work.

value.ToString("0000:X");

开发者_运维技巧OK, I can check the length of hex string and pad left with zeros.

But is there any straightforward way?


Use a number after the X format specifier to specify the left padding : value.ToString("X4")


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


Here is another method, You can define a function and pass it 2 values, one the actual number and the second is the max length to fix. i.e.

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;
}

you need integers in the format 0012, FixZero("12", 4) or for 0001234, FixZero("1234", 7)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜