The*_*eek 4 c# integer string-formatting
我有一个包含两个字符串的类,一个反映当前年份,另一个代表一些价值.这些字段基于用户指定的格式(使用string.format)进行组合.重要提示:用户输入了以前生成的数据,因此它始终是一个整数,我们不必担心这一点.
我们的默认格式为"{0} - {1:000}".但是,现在用户指定的数据是一个字符串,它不希望适当地格式化.这是一个例子:
用户输入12作为所需数据.格式化时,它不显示2011-0012,而只显示2011-12.我如何确保添加0是没有做一些疯狂的循环,它将附加0或试图解析数字(假设它是一个数字.应该只有足够的0来等于长度为4的字符串)?
这是我作为一种格式尝试的:
"{0} - {1:0000}" - >用户被迫输入数字时的原始格式."{0} - {1:D4}"""{0} - {1:N4}"
你可以使用string.PadLeft():
string output = string.Format("{0}-{1}", "2011", input.PadLeft(4, '0'));
Run Code Online (Sandbox Code Playgroud)