在平时开发中,总能遇到流水号的问题,类似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;
到此这篇关于C# PadLeft、PadRight用法详解的文章就介绍到这了,更多相关C# PadLeft PadRight内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!