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#