我目前正在开发一个项目,我需要将字符串格式化为只有10个字符。但必须以某种方式开始并以增量计数器结束。
E.G号码的格式为:
0100000001
0100000002
0100000003
...
0100000010
0100000011
即。前两个数字将保持不变,只有最后一个数字将保持递增但字符串必须保持10个字符长。
我怎么能这样做我尝试过使用String.Format但似乎没有用。
更新 我尝试过使用以下
destination = String.Format("07000000{0}", messageCount);
这种方式有效但是一旦messageCount超过10,长度变为11,它需要保持不超过10
答案 0 :(得分:7)
D8
表示格式为十进制,最多包含8个前导零
string.Format("01{0}", counter.ToString("D8"));
答案 1 :(得分:5)
试
String.Format("01{0:00000000}", i);
答案 2 :(得分:3)
您可以使用:
var counter = 11;
var fixedPart = "01";
var result = fixedPart + counter.ToString().PadLeft(8,'0');
答案 3 :(得分:1)
您是否尝试过String.Format("00{0:00000000}", num)
?
答案 4 :(得分:0)
给这个扩展方法一个镜头......我没有编译它,但让我知道它是否有效: - )
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"