簡體   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