将字符串格式化为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
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"