生成一个随机的四位数引脚,最后一个数字总是零
Generating a random four digit pin, last digit is always zero
我试图使用Javascript生成一个四位数的pin码,在0000和9999之间。我遇到的问题是,自然会生成像403这样的数字,所以所有内容都以0为前缀,然后我使用substr
来获得最后四位数字。
由于某些原因,最后一个数字总是0,我不知道为什么:
function generatePin () {
min = 0,
max = 9999;
return ("0" + Math.floor(Math.random() * (max - min + 1)) + min).substr(-4);
}
运行10次输出如下:
2200
1070
9370
4870
5190
5490
5240
7410
1190
0220
2310
以0结尾,因为在数字的末尾有+ min
, min
是0。它执行的是字符串连接,而不是整数相加,所以你在末尾加了一个0。只要去掉那个位,问题就解决了。
和Buck Doyle(原谅我不知道如何链接到一个用户)是非常正确的——如果你要解析整个东西作为一个字符串,你将需要一些更多的前导零。前面的三个0将给你一个四位数的字符串,即使你随机化了一个1。
Math.random().toString().substr(2,4)
您可以使用一对括号来超越它。
function generatePin () {
min = 0,
max = 9999;
return ("0" + (Math.floor(Math.random() * (max - min + 1)) + min)).substr(-4);
}
" + min "导致末尾的零追加。
相关文章:
- 表追加而不附加最后一个元素
- 无法在Ionic select中预先选择最后一个选项
- 为什么画布形状只在3个画布中的最后一个画布上渲染
- Jquery append oly获取循环Rails中的最后一个elemen
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- dataTables-如何自定义分页类型以显示最后一个页码后面的省略号,
- 多维关联数组的最后一个索引
- 无法获取vis.js最后一个或第一个选定的网络节点
- 循环以检查数组中的最后一个图像
- 从输入值中删除最后一个单词
- 尝试使用Javascript正则表达式来获取“&"分隔文本,无论它是否's是最后一个值
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 如何从多个复选框中获取最后一个值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- 使用querySelector()获取最后一个td元素
- Foreach循环只返回最后一个值
- 通过将6个月添加到今天来获得最后一个月的日期's日期
- 如何使用JavaScript forloop从JSON中删除最后一个逗号
- 'mousemove'画布中的事件侦听器-指针仅在最后一个矩形中更改
- 生成一个随机的四位数引脚,最后一个数字总是零