使用Math.random()获得短信验证码功能需要的随机数
在项目中看到一个需求,要用到6位数字的随机数,虽然知道是用random()函数获得,不过获取六位数字的计算方式还是想不起来了,经过一系列演算后得到结果如下:
(int)((Math.random()*9+1)*100000)
Math.random()的取值结果应该是0-1(事实上取不到 0 和1)之间的随机小数,像这样:
乘以9之后就得到了0-9(大于0小于9)之间的随机小数:
经过int类型转换之后,应该是 0-8 之间的随机整数,因为double转int向下取整,所以 "+1"之后就会得到1-9之间的小数,乘以10000来获取6位的整型数字。