嗨,我只是想在字符串中添加零,例如,某公司的系统中有一些旧条形码,只打印了12个字符,而新条形码是13个,我只需要添加长度为12时会额外增加一个零。
using System;
public class Program
{
public static void Main()
{
string BarCode="000001661705";
char pad = '0';
if(BarCode.Length==12)
{
BarCode = BarCode.PadLeft(1, pad);
}
Console.WriteLine("Length of barcode" + BarCode.Length);
Console.WriteLine("Barcode=" + BarCode);
}
}
这是.net填充的字符,当字符数应为13并加上零时,您将看到字符数仍为12。
答案 0 :(得分:4)
只需将其添加为字符串?
using System;
public class Program
{
public static void Main()
{
string BarCode="000001661705";
char pad = '0';
if(BarCode.Length==12)
{
BarCode = pad + BarCode;
}
Console.WriteLine("Length of barcode" + BarCode.Length);
Console.WriteLine("Barcode=" + BarCode);
}
}
答案 1 :(得分:1)
您必须使用BarCode.PadLeft(BarCode.Length + 1, pad)
来获得所需的输出。
但我不明白您为什么要这么做,只需添加"0" + BarCode
答案 2 :(得分:1)
PadLeft
接受作为返回字符串的参数totalWidth
,因此它将填充字符串是否较短,而当长度已经等于o较大时则不执行任何操作。只需使用:
BarCode = BarCode.PadLeft(13, pad);
代替
if(BarCode.Length==12)
{
// here is the problem, you specified totalWidth = 1
BarCode = BarCode.PadLeft(1, pad);
}