将字符串格式化为10个字符

本文关键字:10个 字符 格式化 字符串 | 更新日期: 2023-09-27 18:21:05

我目前正在进行一个项目,需要将字符串的格式设置为只有10个字符长。但必须以某种方式开始,并以递增计数器结束。

E.G号码的格式为:

0100000001
0100000002
0100000003
...
0100000010
0100000011

也就是说,前两个数字将保持不变,只有最后一个数字将继续递增,但字符串必须保持10个字符长。

我怎么能做到这一点?我试过使用String.Format,但似乎不起作用。

更新我试过使用以下

destination = String.Format("07000000{0}", messageCount);

这种方法有效,但一旦messageCount超过10,长度就会变为11,并且需要保持不超过10

将字符串格式化为10个字符

D8表示小数格式,最多有8个前导零

string.Format("01{0}", counter.ToString("D8"));

尝试

String.Format("01{0:00000000}", i);

您可以使用这个:

var counter = 11;
var fixedPart = "01";
var result = fixedPart + counter.ToString().PadLeft(8,'0');

您尝试过String.Format("00{0:00000000}", num)吗?

请参阅自定义数字格式

试试这个扩展方法。。。我没有编译它,但让我知道它是否有效:-)

public static class Ex
{
  public static string ToSpecialString(this string value)
  {
    int desiredLength = 10;
    string prefix = "01";
    string padding = new String('0', desiredLength - prefix.Length - value.Length);
    return prefix + padding + value;
  }
}
... usage ...
Console.WriteLine( "32".ToSpecialString() );
// should output "0100000032"