如何在C#中将整数转换为固定长度的hex字符串?

我有一个整数变量,最大值为9999。

我可以转换为固定长度的字符串(4个字符):

value.ToString("0000"); 

我可以将它转换为hex:

 value.ToString("X"); 

我想将其转换为四个字符的hex字符串(如果值转换为小于四位hex值,则在左侧填充0)。 我尝试了以下哪些不起作用。

 value.ToString("0000:X"); 

好的,我可以用零来检查hex字符串和填充板的长度。

但有任何直截了当的方式吗?

在X格式说明符后面使用数字指定左边距: value.ToString("X4")

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

这是另一种方法,您可以定义一个函数并将其传递给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)或0001234,FixZero(“1234”,7)的整数