Ответ 1
//Generate RandomNo
public int GenerateRandomNo()
{
int _min = 1000;
int _max = 9999;
Random _rdm = new Random();
return _rdm.Next(_min, _max);
}
вам нужен 4-значный код, начинающийся с 1000
Я хочу создать уникальное 4-значное случайное число. Это приведенный ниже код, что я попробовал:
Код для генерации случайных чисел
//Generate RandomNo
public int GenerateRandomNo()
{
int _min = 0000;
int _max = 9999;
Random _rdm = new Random();
return _rdm.Next(_min, _max);
}
Проблема в том, что я получил случайное значение no со значением 241
которое не является 4-значным числом. Есть ли проблемы с кодом?
//Generate RandomNo
public int GenerateRandomNo()
{
int _min = 1000;
int _max = 9999;
Random _rdm = new Random();
return _rdm.Next(_min, _max);
}
вам нужен 4-значный код, начинающийся с 1000
Вместо этого используйте этот код:
private Random _random = new Random();
public string GenerateRandomNo()
{
return _random.Next(0, 9999).ToString("D4");
}
241 - это четырехзначное число, если вы используете начальные нули: 0241.
Отобразите возвращаемый номер со строкой формата следующим образом:
String.Format("{0:0000}", n);
0 - это то же, что и 0000.
241 совпадает с 0241.
Вы можете форматировать целое число в строку с начальным нулем.
Только один код строки
int num = new Random().Next(1000, 9999);
use: int _min = 1000;
или использовать ведущий 0, если вы хотите 0241
Random generator = new Random();
string number = generator.Next(1, 10000).ToString("D4");
Вы можете считать что-то вроде этого.
int length = 4;
int number = 50;
string asString = number.ToString("D" + length);
Приведенный выше код дает результат 0050.
Аналогичным образом вы можете попробовать преобразовать в строку и проверить.
Я предлагаю создать новый список и проверить, содержит ли этот список какой-либо номер
var IdList = new List<int>();
do
{
billId = random.Next(1, 9000);
} while (IdList.Contains(billId));
IdList.Add(billId);
int NoDigits = 4;
Random rnd = new Random();
textBox2.Text = rnd.Next((int)Math.Pow(10, (NoDigits - 1)), (int)Math.Pow(10, NoDigits) -1).ToString();