javascript - 使用子字符串生成 4 位随机数

标签 javascript jquery

我正在尝试执行以下代码:

var a = Math.floor(100000 + Math.random() * 900000);
a = a.substring(-2);

我在第 2 行收到类似 undefined is not a function 的错误,但是当我尝试执行 alert(a) 时,它有一些东西。这里出了什么问题?

最佳答案

这是因为 a 是一个数字,而不是一个字符串。您可能想做的是这样的:

var val = Math.floor(1000 + Math.random() * 9000);
console.log(val);

  • Math.random()将生成 [0, 1) 范围内的 float (不是拼写错误,它是标准数学符号,表明 1 被排除在该范围之外) .
  • 乘以 9000 的结果范围为 [0, 9000)。
  • 将 [1000, 10000) 范围内的 1000 个结果相加。
  • Flooring 将小数部分去掉,得到一个整数。请注意,它不会四舍五入。
<小时/>

一般情况

如果要生成[x,y)范围内的整数,可以使用以下代码:

Math.floor(x + (y - x) * Math.random());

关于javascript - 使用子字符串生成 4 位随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29640432/

相关文章:

javascript - Three.js:重新连接骨骼后如何重新绑定(bind)/重新连接网格骨架?

javascript - 如何在javascript find函数中传递参数?

javascript - 异步构造函数

javascript - 带有 CKEditor 的 jQuery 验证插件

javascript - 当 Div 可见时 Brightcove 开始播放

php - 从多个相同的表单字段插入数据

javascript - 完整日历删除数据库中外部事件的编辑描述

javascript - 街景图像无法在 Firefox 中加载

jquery - 链接悬停时如何保持打开的子菜单?

jquery - 如何修复对话框按钮的单个 css 样式?