格式化int值时如何处理前导零

c#

有一点空白。如果我想将以下格式 ( ## ### ###) 应用于 int 值,我会这样做。

string myFormat = "## ### ###";
int myPin = 18146145;
Console.WriteLine(myPin.ToString(myFormat)); //18 146 145

然而,问题在于 say 的值"02112321"被格式化为"02 112 321"应用这种精确格式"## ### ###"。在这种情况下,0 会消失。

回答

格式化包括通过赋予特定形状将值转换为字符串。因此,格式化不适用于字符串(因为它们已经是字符串)。您可以将字符串转换为数字,然后将其转换回字符串并应用所需的格式。

string myFormat = "00 000 000";
string s = "02112321";
string formatted = Int32.Parse(s).ToString(myFormat); // ==> "02 112 321"

如果您需要前导零,请使用格式字符串"00 000 000"而不是"## ### ###".

请注意,Int32.MaxValue2,147,483,647. 如果您需要格式化更大的数字,请使用Int64.Parse允许数字高达9,223,372,036,854,775,807.


以上是格式化int值时如何处理前导零的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>