erlang有三个生产随机数的办法

random:uniform().

这个函数是erlang库random模块提供的。一般都采用这个。


复制代码代码如下:


1> random:uniform().
0.4435846174457203


erlang:now().

用当前时间作为随机相信很多人都做过吧。所以如果你没有太多的要求,当然也可以这么做。


复制代码代码如下:


1> erlang:now().
{1419,831449,715000}


crypto:strong_rand_bytes(N).

crypto模块是用于加密的模块。strong_rand_bytes函数能够生成均匀的N个字节的随机数。返回的是二进制数据。如


复制代码代码如下:


1> <<A:32,B:32,C:32>> = crypto:strong_rand_bytes(12).
<<154,106,144,218,65,238,246,170,246,70,252,167>>
2> A.
2590675162


就可以shengcheng,3个32位的随机数,相当于3个随机整数。