当前位置:编程学习 > C#/ASP.NET >>

system.random.Next(参数1,参数2)里面的参数只能是int型的,而我想实现在1到INT64之间随机生成一个随机数,请问如何实现?

如题,请高手指点!!!谢谢!!!!! --------------------编程问答-------------------- 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.Random random = new System.Random(); 
//倍数,用来循环控制 
Int64 n = 1; 

//最后的结果保存在这里 
Int64 x = 0; 

//循环次数,我看了你是19位的, 所以i<20次 
for (int i = 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();
--------------------编程问答-------------------- 谢谢楼上二位指点~
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,