问题描述
如题,请高手指点!!!谢谢!!!!!
解决方案
解决方案二:
http://blog.csdn.net/drew27/article/details/5719512
解决方案三:
有个函数是获取0-1之前的随机数的。System.Random(),用这个获取0-9之前的随机数,方法是random(0,9),这样获取的就是0-9之间的随机整数,因为这个函数不能接受int64位的数,所以你只能一位一位的获取,每获取一位乘以10,第二位乘以100,第三个乘以1000,以此类推,然后把这些数加起来就是你要的数了,注意可能要做转换,要从int32位转换成int64位才可能存的下这么大的数字。希望对你有帮助System.Randomrandom=newSystem.Random();//倍数,用来循环控制Int64n=1;//最后的结果保存在这里Int64x=0;//循环次数,我看了你是19位的,所以i<20次for(inti=1;i<20;i++){//这个判断是判断最大的那位不能为0,不然就变成了18位了。if(i!=19){x+=(random.Next(0,9)*n);n=n*10;}else{//这是的最高位,这一位不能为0,所以是取1-9的随机数。x+=(random.Next(1,9)*n);n=n*10;}}//把结果输出到label1里。Label1.Text=x.ToString();
解决方案四:
谢谢楼上二位指点~
时间: 2024-10-23 13:16:19