繁体   English   中英

在破折号的左边和右边添加前导零

[英]Add leading zeros left and right of dash

我有一个输入字符串,用连字符分隔数字。 我需要左侧正好是 5 位数字。 如果小于,则添加前导零。 右边需要4位数字。 任何更少,添加前导零。

例如:

0002-800 -> 00002-0800
0001-0800 -> 00001-0800
12345-220 -> 12345-0220

最好的方法是在 - 字符上拆分字符串,然后使用 PadLeft 函数吗?

我需要左侧正好是 5 位数字。 如果小于,则添加前导零。 右边需要4位数字。 任何更少,添加前导零。

如果我需要将左侧填充为 8 位数字,在左侧填充为 3 位数字在右侧等或任何其他组合,那么是否可以轻松更改 Select Project

一般写成:

private void button1_Click(object sender, EventArgs e)
{
    String input = "12345-12";
    String output = PadColumns(input, '-', '0', new int[] {8,3});
    Console.WriteLine(input);
    Console.WriteLine(output);
}

private String PadColumns(String input, char delimiter, char paddingChar, int[] columnWidths)
{
    String[] values = input.Split(new char[] {delimiter});
    for(int i=0; i<values.Length; i++)
    {
        if (i<columnWidths.Length)
        {
            values[i] = values[i].PadLeft(columnWidths[i], paddingChar);
        }
    }
    return String.Join(delimiter.ToString(), values);
}

如果您经常使用该代码,则可以将其转换为扩展方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM