繁体   English   中英

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

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

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

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

value.ToString("0000");

我可以将它转换为十六进制:

value.ToString("X");

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

value.ToString("0000:X");

好的,我可以用零来检查十六进制字符串和填充的长度。

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

在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)的整数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM