Erlang中3种生成随机数的方法

1389 查看

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个随机整数。