日常工作中,需要使用随机数的场合很多。做实验时,可能需要一些随机数来作测试;不少产品商家需要给产品配上随机序列号,或给VIP用户卡分配随机卡号。那么,在Windows环境下,如何才能自动生成满足需要的随机数呢?

1. 特定区间普通随机数的生成

如果在进行实验时,需要生成一个特定区间内的随机数,首先可以通过我们所熟悉的Excel软件来创建。主要利用RAND和RANDBETWEEN两个函数来实现。

例如,需要生成0到1区间内的随机数,可使用函数“=RAND()”来实现;要生成0到10之间的随机数,可使用函数表达式“=RAND()*10”;若需要1到10之间的随机数,要用表达式“RAND()*(10-1)+1”。同样地,若需要0到100之间的随机数,使用“RAND()*100”函数表达式;1到100之间的随机数,使用“RAND()*(100-1)+2”函数表达式(图1)。

 

我们注意到,上述随机数都是小数。那么,如果要生成整数怎么办呢?有两种办法,一个是对生成的小数随机数取整,一个是直接生成整数随机数。第一种例如在表达式“RAND()*(100-1)+2”的基础上外加TRUNC()函数,生成1到100之间的随机整数,整个表达式表述为“=TRUNC(RAND()*(100-1)+2)”;第二种则可以直接使用RANDBETWEEN()函数,用表达式“=RANDBETWEEN(0,10)”生成0到10之间的随机整数,表达式“=RANDBETWEEN(50,9999)”生成50到9999之间的随机整数(图2)。可见,RANDBETWEEN()函数用起来更形象,也更简单。

 

如果觉得上述方式生成区间随机数比较麻烦,可利用第三方工具软件实现。比如使用Random Number Generator,可以很方便地进行随机数区域设置和条件限定,从而自动生成满足条件的随机数。

软件运行后,在左侧上方Interval from后的两个框中输入随机数生成的范围值,在Digits after decimal point后输入截取的小数位,在Number of digits to generate后输入每次生成的随机数个数。之后,点击Generate integer按钮即可生成指定数量的随机整数,点击Generate decimal则生成相应的随机小数(图3)。

 

随机数的生成条件设置之后,建立随机数的操作还可以用快捷键来完成。按下功能键F1可以建立指定范围的整数,按下F2生成指定范围的小数,按下F4则清除随机数列表。如果要生成大量的随机数,要从中找到一个特定的随机数是否存在,可使用Find按钮进行查找,找到后自动定位到该随机数(图4)。若中途要停止随机数的生成,可按下Esc键。

 

小提示:如果要求生成不重复的随机数,请选择Next random number does not equal current复选框。如果要复制生成的某个随机数或随机数列表,用软件窗口左下角的几个按钮来操作即可。

2. 特定格式产品序列号的生成

作为产品生产商家的工作人员,要给自己的软硬件产品编排序列号,或者销售商要给客户VIP卡配置序列号,也可以用两种方法来实现。

首先,可以使用Excel的随机函数表达式。假设要生成形如“123-456”这样的由两段三位数字和连字符组成随机数序列号,可以使用“=RANDBETWEEN(100,999)& " - " &RANDBETWEEN(100,999)”函数表达式。其中的“&”符号连接前后结果,而“-”表示以指定连字符连接前后两段随机数。

依此类推,如果要生成由四段六位数字组成的随机序列号,可使用“=RANDBETWEEN(100000,999999)& " - " &RANDBETWEEN(100000,999999)& " - " && " - " &RANDBETWEEN(100000,999999)& " - " &RANDBETWEEN(100000,999999)& " - " &RANDBETWEEN(100000,999999)& " - " &RANDBETWEEN(100000,999999)”函数表达式(图5)。

 

序列号的生成还可以使用第三方专用工具,如Portable Abluescarab Software CD-Key Generator软件。首次使用该软件弹出提示,需要进行参数配置,配置参数主要有序列号的段数和每段的字符数两个参数(图6)。

 

进入序列号生成器的主窗口后,先通过下拉列表,在使用数字、字符、数字+字符3种方式中选择一种,再通过下面的复选框选择是否使用小写字母,然后点击Generate按钮,即可建立一组序列号(图7)。

 

小提示:虽然该软件为CD-Key而设计,但生成其他产品序列号同样适用。