生成随机的6位数字

Arv*_*afi 25 c#

我一直在寻找几个小时,我似乎无法找到这个问题的答案.我想生成一个6位数的随机数.有些人可能会告诉我使用这段代码:

        Random generator = new Random();
        int r = generator.Next(100000, 1000000);
Run Code Online (Sandbox Code Playgroud)

但这限制了我的6位数都超过了10万的价值.我希望能够使用000 001,000 002等生成一个int.之后我想将此整数转换为字符串.

use*_*672 76

如果您希望字符串以零引导,请尝试此操作.你不能得到像001这样的int.

    Random generator = new Random();
    String r = generator.Next(0, 999999).ToString("D6");
Run Code Online (Sandbox Code Playgroud)

  • 有时这也会生成 5 位数字 (3认同)

Mat*_*ten 23

你想要一个字符串:

Random r = new Random();
var x = r.Next(0, 1000000);
string s = x.ToString("000000");
Run Code Online (Sandbox Code Playgroud)

例如,

x = "2124"
s = "002124"
Run Code Online (Sandbox Code Playgroud)


ani*_*era 6

正如评论中所述,“六位数字”是一个字符串。以下是如何生成 0-999999 之间的数字,然后将其格式化为“000482”:

Random r = new Random();
int randNum = r.Next(1000000);
string sixDigitNumber = randNum.ToString("D6");
Run Code Online (Sandbox Code Playgroud)


Dia*_*ock 5

private static string _numbers = "0123456789";
Random random = new Random();


private void DoWork()
{
   StringBuilder builder = new StringBuilder(6);
   string numberAsString = "";
   int numberAsNumber = 0;

   for (var i = 0; i < 6; i++)
   {
      builder.Append(_numbers[random.Next(0, _numbers.Length)]);
   }

   numberAsString = builder.ToString();
   numberAsNumber = int.Parse(numberAsString);

}
Run Code Online (Sandbox Code Playgroud)