我一直在寻找几个小时,我似乎无法找到这个问题的答案。我想生成一个6位数的随机数。有些人可能会告诉我使用这段代码:
Random generator = new Random();
int r = generator.Next(100000, 1000000);
但这限制了我的6位数值都超过了100 000。我希望能够使用000 001,000 002等生成一个int。我后来想将这个整数转换为字符串。
答案 0 :(得分:69)
如果您希望字符串以零引导,请尝试此操作。你不能得到像001这样的int。
Random generator = new Random();
String r = generator.Next(0, 999999).ToString("D6");
答案 1 :(得分:21)
你想要一个字符串:
Random r = new Random();
var x = r.Next(0, 1000000);
string s = x.ToString("000000");
例如,
x = "2124"
s = "002124"
答案 2 :(得分:3)
如评论中所述,"六位数字"是一个字符串。以下是如何从0-999999生成数字,然后将其格式化为" 000482":
Random r = new Random();
int randNum = r.Next(1000000);
string sixDigitNumber = randNum.ToString("D6");
答案 3 :(得分:2)
我同意上面的评论,000 001不能是一个整数,但可以是一个字符串:
Random generator = new Random();
int r = generator.Next(1, 1000000);
string s = r.ToString().PadLeft(6, '0');
答案 4 :(得分:2)
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);
}
答案 5 :(得分:1)
string s = generator.Next(0, 1000000).ToString("D6");
或
string s = generator.Next(0, 1000000).ToString("000000");