生成一个7位数的数字,能够在前面加零

Mar*_*hal 1 c# random numbers winforms

可能重复:
C#将int转换为带填充零的字符串?

我正在尝试生成一个随机数,但是在我已经包含的范围"0000000,9999999"中我希望它在生成数字时显示这些零,例如以下输出将是:

"00037544""01659369""75484957""00000001"

我用的是:

    int num = rnd.Next(0000000, 9999999);
Run Code Online (Sandbox Code Playgroud)

有问题的是它有时会产生:

"1648""947596""18500"等

有什么东西我不见了吗?

谢谢你的期待

Asi*_*taq 8

您必须将其转换为字符串然后使用PadLeft.

string number = num.ToString().PadLeft(7, '0');
Run Code Online (Sandbox Code Playgroud)

或者简单

string number = num.ToString("0000000");
Run Code Online (Sandbox Code Playgroud)


Raw*_*ing 7

int只代表一个数字; 它不知道它有多少个零.

当您显示该数字时,您可以根据需要为其指定多个前导零.

例如,num.ToString("D7")将创建一个具有足够前导零的字符串,使其长7位,就像将一样String.Format("{0:D7}", num).Console.WriteLine("{0:D7}", num)以同样的方式工作.