整数的字符串格式c#

时间:2011-10-05 18:56:03

标签: c# string-formatting integer

我有一个包含两个字符串的类,一个反映当前年份,另一个代表一些值。这些字段基于用户指定的格式(使用string.format)进行组合。重要提示:用户输入了以前生成的数据,因此它始终是一个整数,我们不必担心这一点。

我们的默认格式为“{0} - {1:000}”。但是,现在用户指定的数据是一个字符串,它不希望适当地格式化。这是一个例子:

用户输入12作为所需数据。格式化时,它不显示2011-0012,而只显示2011-12。我怎样才能确保添加0是没有做一些疯狂的循环,它会附加0或试图解析数字(假设它是一个数字。应该只有足够的0来等于长度为4的字符串)?< / p>

以下是我作为格式尝试的内容:

“{0} - {1:0000}” - &gt;用户被迫输入数字时的原始格式。 “{0} - {1:D4}” “{0} - {1:N4}”

2 个答案:

答案 0 :(得分:5)

您可以使用string.PadLeft()

string output = string.Format("{0}-{1}", "2011", input.PadLeft(4, '0'));

答案 1 :(得分:2)

您可以使用string.PadLeft向左添加零,或使用int.TryParse尝试转换为整数。后者将作为验证检查的两倍。