【发布时间】:2015-06-23 12:40:10
【问题描述】:
我想要前面有零的字符串。
我使用这个代码:
string a = string.Format("{0:00}",7);
上面的代码给出了一个两位数字的字符串,但是如果我想要一个n 数字字符串呢?假设n = 5,我怎样才能使用string.format 得到类似0004 的东西?
【问题讨论】:
我想要前面有零的字符串。
我使用这个代码:
string a = string.Format("{0:00}",7);
上面的代码给出了一个两位数字的字符串,但是如果我想要一个n 数字字符串呢?假设n = 5,我怎样才能使用string.format 得到类似0004 的东西?
【问题讨论】:
int num = 4;
string a = num.ToString("D4");
【讨论】:
strings = 4.ToString("D5");
string a = number.ToString("D"+length);
这将打印前导 4 个零。
int maxwidth = 5;
Console.WriteLine(outstring.PadLeft(maxwidth, '0'));
【讨论】:
为什么不做这样的事情
string formatstring = "{0:0000}"; // or anything else I want it to be
int i = 4; // any number I want
strings = string.Format(formatstring, i);
根据位数更改格式
formatstring = "{0:";
for(int x=0; x< i.ToString().Length; x++)
formatstring += "0";
formatstring += "}";
【讨论】:
n,我们可能需要 7 个零。
string.Join("", Enumerable.Repeat("0", n)) 类似这样的东西。
StringBuilder 与预分配缓冲区一起使用(即使没有预分配缓冲区,它也比连接字符串更好)。