关于生成10位数字随机数

woo_zan 2010-01-30 01:42:34

各位好


碰到个问题 想不到法子 所以来这里取经 嘿嘿~~


我需要做一个随便数 要是10数字的 用int 类型接收 说是长度不够
声明成long 型的 那个随便方法 next() 参数又不支持 long型

Random ran = new Random();
string code = (ran.Next(begin, end)).ToString();

begin和end 都是int型的 因为数据的字段是int型的

在不动数据库字段类型的情况下 如何解决 这个问题呢?


各位路过的朋友 有没有 碰到过类似的问题 还请指教一二~

先行谢过了

呵~~
...全文
823 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdlpc 2010-01-30
  • 打赏
  • 举报
回复
GetNumPwd(10)
蘋果虫 2010-01-30
  • 打赏
  • 举报
回复
用时间 截
蘋果虫 2010-01-30
  • 打赏
  • 举报
回复
用时间载
vrhero 2010-01-30
  • 打赏
  • 举报
回复
10位数字是什么意思?最高位不得为0?把规则讲清楚...

Int32最大2147483647,除非你最高位限定为小于2,否则必须改类型...楼上这些代码都会出异常...
seesea125 2010-01-30
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Text;

namespace NetCMS.Common
{
public class Rand
{
/// <summary>
/// 生成随机数字
/// </summary>
/// <param name="length">生成长度</param>
/// <returns></returns>
public static string Number(int Length)
{
return Number(Length, false);
}

/// <summary>
/// 生成随机数字
/// </summary>
/// <param name="Length">生成长度</param>
/// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
/// <returns></returns>
public static string Number(int Length,bool Sleep)
{
if(Sleep)
System.Threading.Thread.Sleep(3);
string result = "";
System.Random random = new Random();
for (int i = 0; i < Length; i++)
{
result += random.Next(10).ToString();
}
return result;
}

/// <summary>
/// 生成随机字母与数字
/// </summary>
/// <param name="IntStr">生成长度</param>
/// <returns></returns>
public static string Str(int Length)
{
return Str(Length, false);
}
/// <summary>
/// 生成随机字母与数字
/// </summary>
/// <param name="Length">生成长度</param>
/// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
/// <returns></returns>
public static string Str(int Length, bool Sleep)
{
if(Sleep)
System.Threading.Thread.Sleep(3);
char[] Pattern = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C',
'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
string result = "";
int n = Pattern.Length;
System.Random random = new Random(~unchecked((int)DateTime.Now.Ticks));
for (int i = 0; i < Length; i++)
{
int rnd = random.Next(0,n);
result += Pattern[rnd];
}
return result;
}


/// <summary>
/// 生成随机纯字母随机数
/// </summary>
/// <param name="IntStr">生成长度</param>
/// <returns></returns>
public static string Str_char(int Length)
{
return Str_char(Length, false);
}

/// <summary>
/// 生成随机纯字母随机数
/// </summary>
/// <param name="Length">生成长度</param>
/// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
/// <returns></returns>
public static string Str_char(int Length, bool Sleep)
{
if (Sleep)
System.Threading.Thread.Sleep(3);
char[] Pattern = new char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
string result = "";
int n = Pattern.Length;
System.Random random = new Random(~unchecked((int)DateTime.Now.Ticks));
for (int i = 0; i < Length; i++)
{
int rnd = random.Next(0, n);
result += Pattern[rnd];
}
return result;
}
}
}
phhui 2010-01-30
  • 打赏
  • 举报
回复
可以先生成两个5位的随机数字,然后转成字符相加,如:
string a = new Random().Next(9999, 99999).ToString();
string b = new Random().Next(9999, 99999).ToString();
return a+b;
红街咖啡 2010-01-30
  • 打赏
  • 举报
回复
分两次生成随机数.然后拼起来

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧