在C#中填充值的简单而优雅的方法

时间:2013-05-30 14:25:31

标签: c# zero-pad

我必须修复格式错误的zipcodes。导出数据的人将邮政编码视为数字,因此新泽西和波多黎各的邮政编码分别以前导零和两个前导零开头。

它们应该是全部五个字符(不涉及zip + 4个数据)。我知道如何通过获取长度并在字符串前面加上适当数量的零来填充暴力,但是有一种更优雅的方式可以利用C#的“原生”特性吗?例如,是否可以应用将“9163”变为“09163”并将“904”变为“00904”而不必获取值的长度的掩码?

4 个答案:

答案 0 :(得分:10)

string test = "9163";
test = test.PadLeft (5, '0');

答案 1 :(得分:8)

如果您有一个整数值,请使用复合格式字符串来确保填充:

var padded1 = 1.ToString("D5");

D之后的数字是您需要该值的长度。

答案 2 :(得分:3)

  string s = string.Format("{0:00000}", 1234);

  Console.WriteLine(s);

Format String Reference

答案 3 :(得分:2)

string one = a.ToString("00000"); // 00904