首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在C#中生成一个随机的10位数?

如何在C#中生成一个随机的10位数?
EN

Stack Overflow用户
提问于 2011-08-14 14:52:14
回答 12查看 81.6K关注 0票数 28

我使用的是C#,我需要生成一个随机的10位数。到目前为止,我只幸运地找到了表示最小最大值的示例。我如何生成一个10位数字的随机数,它可以从0开始,(最初,我希望是random.Next(1000000000,9999999999),但我怀疑这是我想要的)。

我的代码现在看起来像这样:

代码语言:javascript
复制
[WebMethod]
public string GenerateNumber()
{
    Random random = new Random();
    return random.Next(?);
}

**更新结果是这样的:

代码语言:javascript
复制
[WebMethod]
public string GenerateNumber()
{
    Random random = new Random();
    string r = "";
    int i;
    for (i = 1; i < 11; i++)
    {
        r += random.Next(0, 9).ToString();
    }
    return r;
}
EN

回答 12

Stack Overflow用户

发布于 2015-06-17 15:11:52

使用此选项可创建具有任意指定长度的随机数字

代码语言:javascript
复制
public string RandomDigits(int length)
{
    var random = new Random();
    string s = string.Empty;
    for (int i = 0; i < length; i++)
        s = String.Concat(s, random.Next(10).ToString());
    return s;
}
票数 17
EN

Stack Overflow用户

发布于 2011-08-14 15:11:52

尝试(尽管不是绝对准确)

代码语言:javascript
复制
Random R = new Random();

return ((long)R.Next (0, 100000 ) * (long)R.Next (0, 100000 )).ToString ().PadLeft (10, '0');
票数 12
EN

Stack Overflow用户

发布于 2016-06-02 21:14:08

要在没有任何循环的情况下获得任意位数,请使用Random.Next,并设置适当的限制为100...00,9999...99。

代码语言:javascript
复制
private static readonly Random _rdm = new Random();
private string PinGenerator(int digits)
{
   if (digits <= 1) return "";

   var _min = (int)Math.Pow(10, digits - 1);
   var _max = (int)Math.Pow(10, digits) - 1;
   return _rdm.Next(_min, _max).ToString();
}

此函数计算第n位数的下界和上界。

要生成10位数字,请像这样使用它:

PinGenerator(10)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7055489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档