long n = (long)Math.Floor((new Random()).NextDouble() * 1000000000D);
好吧自己想出了个临时算法private static long GetTowLongNumRandom(long minNum, long maxNum) { var num = maxNum - minNum; Random random = new Random(); if (num < int.MaxValue) num = random.Next(0,Convert.ToInt32(num)); else num = random.Next(0, int.MaxValue); return minNum + num; }
long l = Convert.ToInt64(new Random().Next(1111111, 9999999).ToString() + new Random().Next(1111111, 9999999).ToString());
如上分两截,如果是从0-99999999999999 long l = Convert.ToInt64(new Random().Next(0, 9999999).ToString().PadLeft(7, '0') + new Random().Next(0, 9999999).ToString().PadLeft(7, '0'));
{
var num = maxNum - minNum;
Random random = new Random();
if (num < int.MaxValue)
num = random.Next(0,Convert.ToInt32(num));
else
num = random.Next(0, int.MaxValue); return minNum + num; }
long l = Convert.ToInt64(new Random().Next(1111111, 9999999).ToString() + new Random().Next(1111111, 9999999).ToString());
long l = Convert.ToInt64(new Random().Next(0, 9999999).ToString().PadLeft(7, '0') + new Random().Next(0, 9999999).ToString().PadLeft(7, '0'));
参考:http://stackoverflow.com/questions/6651554/random-number-in-long-range-is-this-the-way
long LongRandom(long min, long max, Random rand) {
byte[] buf = new byte[8];
rand.NextBytes(buf);
long longRand = BitConverter.ToInt64(buf, 0); return (Math.Abs(longRand % (max - min)) + min);
}
两个long整形的是是服务器前台给的,我不能控制,长度也不能确定,所以这样也不行