C#-将int转换为string(";X6";)将给出8个字符

C#-将int转换为string(";X6";)将给出8个字符,c#,ms-word,hex,C#,Ms Word,Hex,我正试图通过这个流畅的代码将wdColor转换为rgb颜色。我正在通过ToString(“x6”)将enum wdColor结果转换为十六进制。但有时它会返回一个8长度的字符串,我需要6长度的字符串将其转换为rgb var num = -603914241; var numToHex = y.ToString("x6"); 给出了具有8个字符的“dc00ffff”。输入数字太大,无法仅用6个字符表示x6表示输出长度应至少为6个字符,根据需要用零填充以满足最小长度-但如果输入太大,则将使用尽

我正试图通过这个流畅的代码将wdColor转换为rgb颜色。我正在通过ToString(“x6”)将enum wdColor结果转换为十六进制。但有时它会返回一个8长度的字符串,我需要6长度的字符串将其转换为rgb

 var num = -603914241;
 var numToHex = y.ToString("x6");

给出了具有8个字符的“dc00ffff”。

输入数字太大,无法仅用6个字符表示
x6
表示输出长度应至少为6个字符,根据需要用零填充以满足最小长度-但如果输入太大,则将使用尽可能多的字符来表示它。

根据手册

十六进制(“X”)格式说明符将数字转换为字符串 十六进制数字的。格式说明符的大小写表示 十六进制是使用大写字符还是小写字符 大于9的数字。例如,使用“X”生成 “ABCDEF”和“x”生成“ABCDEF”。仅支持此格式 对于整型

精度说明符指示所需的最小位数 在结果字符串中。如果需要,数字将用零填充 在其左侧生成精度给定的位数 说明符

在您的情况下,这意味着
x6
保证至少(不完全)6位
十六进制数字

“x6”
格式字符串保证至少为6位十六进制数字。