5

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

它们应该是全部五个字符(不涉及 zip+4 数据)。我知道如何通过获取长度并将适当数量的零添加到字符串来零填充蛮力,但是有没有一种更优雅的方式可以利用 C# 的“本机”特性?例如,是否可以应用将“9163”转换为“09163”和“904”转换为“00904”的掩码,而无需获取值的长度?

4

4 回答 4

10
string test = "9163";
test = test.PadLeft (5, '0');
于 2013-05-30T14:28:30.973 回答
8

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

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

后面的数字D是您需要该值所在的长度。

于 2013-05-30T14:27:44.063 回答
3
  string s = string.Format("{0:00000}", 1234);

  Console.WriteLine(s);

格式字符串参考

于 2013-05-30T14:29:38.500 回答
2
string one = a.ToString("00000"); // 00904
于 2013-05-30T14:28:26.127 回答