Создать случайный 6-значный номер

Я искал пару часов, и я просто не могу найти ответа на этот вопрос. Я хочу создать случайное число с 6 цифрами. Некоторые из вас могут сказать мне использовать этот код:

        Random generator = new Random();
        int r = generator.Next(100000, 1000000);

Но это ограничивает мои 6 цифр для всех выше 100 000. Я хочу, чтобы иметь возможность генерировать int с 000 001, 000 002 и т.д. Я позже хочу преобразовать это целое число в строку.

Ответы

Ответ 1

Если вам нужна строка с нулями, попробуйте это. Вы не можете получить int как 001.

    Random generator = new Random();
    String r = generator.Next(0, 1000000).ToString("D6");

Ответ 2

Вы хотите иметь строку:

Random r = new Random();
var x = r.Next(0, 1000000);
string s = x.ToString("000000");

Например,

x = "2124"
s = "002124"

Ответ 3

Как указано в комментарии, "шестизначное число" - это строка. Здесь, как вы создаете число от 0 до999999, затем отформатируйте его как "000482":

Random r = new Random();
int randNum = r.Next(1000000);
string sixDigitNumber = randNum.ToString("D6");

Ответ 4

Я согласен с комментарием выше, что 000 001 не может быть целым числом, но может быть строкой с:

Random generator = new Random();
int r = generator.Next(1, 1000000);
string s = r.ToString().PadLeft(6, '0');

Ответ 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);

}

Ответ 6

string s = generator.Next(0, 1000000).ToString("D6");