C# PadLeft、PadRight用法详解

在平时开发中,总能遇到流水号的问题,类似yyyy-MM-dd-00001的情况,许多时候我们在拼接字符串的同时,需要把"00001"左边的0补齐,C#中有两个函数可以帮你快速的完成这件事

1.PadLeft

在C#中,PadLeft()是一个字符串方法。此种方法是通过在给定字符串的左侧补充指定字符到我们指定的长度,它有两个重载方法

1>String.PadLeft方法(Int32)

2>String.PadLeft方法(Int32,字符)

具体使用上代码:

using System;
 
public class MainTest
{
    public static void Main()
    {
       string Str = "8";
       Console.WriteLine(Str.PadLeft(2));       ///不补齐输出
       Console.WriteLine(Str.PadLeft(2, '0'));  ///2字节输出,左补0  
       Console.WriteLine(Str.PadLeft(4, '0'));  ///4字节输出,左补0
       Console.WriteLine(Str.PadLeft(4, 'd'));  ///4字节输出,左补d
    }
}

输出结果:

8

08

0008

ddd8

当我们不指定补齐的字符时,系统会用空格将设置的位数补齐,设置特定字符时,使用特定字符将其补齐。

2.PadRight

PadRight()的用法与PadLeft()类似,只不过是右补齐

1>String.PadRight方法(Int32)

2>String.PadRight方法(Int32,字符)

using System;
 
public class MainTest
{
    public static void Main()
    {
       string Str = "8";
       Console.WriteLine(Str.PadRight(2));
       Console.WriteLine(Str.PadRight(2, '0'));
       Console.WriteLine(Str.PadRight(4, '0'));
       Console.WriteLine(Str.PadRight(4, 'd'));
    }
}

输出结果:

8 ---(加横线是为了表示这里数字6后面有空格)

80

8000

8ddd

左补齐和右补齐在数据输出时,经常用到,我们在做串口通信时,就会用到这两个方法。

如:

for (int i = 0; i < FRAME_LENTH; i++)
{
    str_ += recive_byte[i].ToString("X").PadLeft(2, '0');
}
 
text_REC.Text = str_ + "\r\n" + text_REC.Text;

原文地址:https://blog.csdn.net/qq_57798018/article/details/127929975