首页 新闻 会员 周边

怎么生成12位的随机数?

0
悬赏园豆:10 [已关闭问题] 关闭于 2014-09-04 15:01

rt,生成12位的随机数,

            for (int i = 0; i < Convert.ToInt32(ddlCount.SelectedValue); i++)
            {
                CardInfo card3 = new CardInfo();
                card3.AreaId = ddlArea.SelectedItem.Value;
                card3.CardId = card3.AreaId + ReturnMaxCardId();
                card3.CardPwd = ??//获得随机密码
                card3.CurrentNumber = 0

                card3.Int1 = long.Parse(ReturnMaxCardId());
                card3.Int2 = 0;
                card3.IsPay = 0;
                card3.MacId = "";
                card3.ParValue = ddlPayValue.SelectedValue;
                card3.State = 0;
                card3.Str1 = "";
                card3.Str2 = "";
                card3.UseDate = DateTime.Parse("2000-1-1");
                card3.UserId = 0;
                CardInfoManager.AddCardInfo(card3);
            }

 

 密码是在循环中 随机 生成的!!!

 当前操作中不重复即可!大家给个思路啊!

问题补充: public static string ReturnCardPwd(int MaxSize) { string random = ""; for (int i = 0; i < MaxSize; i++) { Random rn = new Random(i); random += rn.Next(0,9); } return random; } 这样子写了,生成的每次都一样啊! 谁弄出来了,我再提高悬赏!
Cat Qi的主页 Cat Qi | 小虾三级 | 园豆:761
提问于:2011-01-18 23:44
< >
分享
所有回答(8)
0

不知道我这篇文章是否对你有帮助

http://www.cnblogs.com/eaglet/archive/2011/01/17/1937083.html

eaglet | 园豆:17139 (专家六级) | 2011-01-19 07:01
你好,你的方法我穿的参数是12,他生成的个数是12,我希望他生成12位应该怎么修改啊?总不能穿参数为11吧?
支持(0) 反对(0) Cat Qi | 园豆:761 (小虾三级) | 2011-01-19 08:47
12 位随机数,你应该输入 2 的 12次方,即4096 才对,这样就可以生成一个12位的随机数了。我不知道你是不是指的12个比特位的随机数。
支持(0) 反对(0) eaglet | 园豆:17139 (专家六级) | 2011-01-19 18:43
0

生成12位的随机数和生成12个1位的随机数并没有区别呀

况且Random 的NextDouble 方法本身就可以生成精度15到16位的随机数,你去掉前面的0.不就可以了么

我想我是风 | 园豆:4 (初学一级) | 2011-01-19 09:32
0

你是想传10就生成10位的密码?那你循环生成不就行了?

顾晓北 | 园豆:10844 (专家六级) | 2011-01-19 09:32
-2

Guid.NewGuid().ToString("N").Substring(0, 12);

Gray Zhang | 园豆:17610 (专家六级) | 2011-01-19 10:45
我想全部都是数字怎么办啊?
支持(0) 反对(0) Cat Qi | 园豆:761 (小虾三级) | 2011-01-19 11:02
static Random random = new Random(); //注意全局只用一个,不要每次生成的时候new出来 string s = random.Next(100000, 1000000).ToString() + random.Next(100000, 1000000).ToString();
支持(0) 反对(0) Gray Zhang | 园豆:17610 (专家六级) | 2011-01-19 11:23
0
private const string RANDOM_RANGE = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
public static string RandomString(int maxSize)
{  
   Random rand = new Random(Environment.TickCount);
StringBuilder sb = new StringBuilder(maxSize);
  
for (int i = 0; i < maxSize; i++)
  {  
    sb.Append(RANDOM_RANGE[rand.Next(RANDOM_RANGE.Length + 1)]);
  }
  
return sb.ToString();
}

 

你说的是这样的么?那个随机字符串你可以添加你还想生成的字符,如小写,其他特殊字符也可以;

Shiaupo | 园豆:272 (菜鸟二级) | 2011-01-19 10:51
这个不行,超出索引错误!
支持(0) 反对(0) Cat Qi | 园豆:761 (小虾三级) | 2011-01-19 11:00
代码经测试确认无误
支持(0) 反对(0) Shiaupo | 园豆:272 (菜鸟二级) | 2011-01-19 11:44
private const string RANDOM_RANGE = "1234567890"; 这样会报错,我只想生成12位的数字。
支持(0) 反对(0) Cat Qi | 园豆:761 (小虾三级) | 2011-01-19 11:53
不好意思,代码中出现了小错。就是在索引那sb.Append(RANDOM_RANGE[rand.Next(RANDOM_RANGE.Length)]);这里不应+1
支持(0) 反对(0) Shiaupo | 园豆:272 (菜鸟二级) | 2011-01-19 17:10
private const string RANDOM_RANGE = "1234567890"; public static string RandomString(int maxSize) {   Random rand = new Random(Environment.TickCount); StringBuilder sb = new StringBuilder(maxSize);   for (int i = 0; i < maxSize; i++)   {       sb.Append(RANDOM_RANGE[rand.Next(RANDOM_RANGE.Length)]);   }   return sb.ToString(); }
支持(0) 反对(0) Shiaupo | 园豆:272 (菜鸟二级) | 2011-01-19 17:15
-2
/// <summary>
/// 数字随机数
/// </summary>
/// <param name="n">生成长度</param>
/// <returns></returns>
public static string RandNum(int n)
{
char[] arrChar = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
StringBuilder num
= new StringBuilder();
Random rnd
= new Random(DateTime.Now.Millisecond);
for (int i = 0; i < n; i++)
{
num.Append(arrChar[rnd.Next(
0, 9)].ToString());
}
return num.ToString();
}
manji | 园豆:633 (小虾三级) | 2011-01-19 15:01
for(i=0;i++;i<=100) { Card card=new Card(); card.pwd= RandNum(12); //得到的pwd重复,应该怎么解决啊? }
支持(0) 反对(0) Cat Qi | 园豆:761 (小虾三级) | 2011-01-22 10:22
Random rnd = new Random(DateTime.Now.Millisecond); 把你的Random rn = new Random(i);改成上面这个
支持(0) 反对(0) manji | 园豆:633 (小虾三级) | 2011-01-24 14:54
0

一个随机数这么复杂?随机一个数字,然后执行12遍。再连起来不就ok了!

茂茂 | 园豆:2892 (老鸟四级) | 2011-01-20 12:12
-1

  System.Random rand = new Random();

            int len = rand.Next(4, 5);

            char[] chars = "0123456789".ToCharArray();

            System.Text.StringBuilder myStr = new System.Text.StringBuilder();

            for (int iCount = 0; iCount < len; iCount++)
            {

                myStr.Append(chars[rand.Next(chars.Length)]);

            }

            string text = myStr.ToString();

dinoy | 园豆:160 (初学一级) | 2011-01-20 15:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册