跳到主要内容

JavaScript 程序:生成随机数

要理解这个示例,你应该掌握以下JavaScript编程主题的知识:

在JavaScript中,你可以使用 Math.random() 函数生成随机数。

Math.random() 返回一个从 0 到小于 1 的随机浮点数(包括 0,不包括 1

示例 1:生成随机数

// 生成一个随机数
const a = Math.random();
console.log(a);

输出

0.5856407221615856

这里,我们声明了一个变量 a 并赋予它一个大于等于 0 且小于 1 的随机数。

注意:你可能在上述程序中得到不同的输出,因为 Math.random() 将生成一个随机数。

我们可以使用区间 (0,1) 中的这个值,通过以下公式找到任意两个数之间的随机值:

Math.random() * (最大数 - 最小数) + 最小数;

示例 2:获取 1 到 10 之间的随机数

// 生成一个随机数
const a = Math.random() * (10 - 1) + 1;
console.log(`1 到 10 之间的随机值是 ${a}`);

输出

1 到 10 之间的随机值是 7.392579122270686

这将显示一个大于 1 且小于 10 的随机浮点数。

以上所有示例都给出了浮点型随机数。

你可以使用 Math.floor() 得到随机整数值。Math.floor() 返回一个减小到最近整数值的数字。例如,

Math.floor(5.389); // 5
Math.floor(5.9); // 5

找到两个数之间随机整数值的语法:

Math.floor(Math.random() * (最大数 - 最小数)) + 最小数;

示例 3:1 到 10 之间的整数值

// 生成一个随机数
const a = Math.floor(Math.random() * (10 - 1)) + 1;
console.log(`1 到 10 之间的随机值是 ${a}`);

输出

1 到 10 之间的随机值是 2

这将显示 1 (包括)10 (不包括) 之间的整数输出,即(1到9)。这里,Math.floor() 用于将小数转换为整数值。

类似地,如果你想找到最小值(包括)到最大值(包括)之间的随机整数,你可以使用以下公式:

Math.floor(Math.random() * (最大值 - 最小值 + 1)) + 最小值;

示例 4:两个数字之间的整数值(包括两端)

// 用户输入
const min = parseInt(prompt("输入最小值: "));
const max = parseInt(prompt("输入最大值: "));

// 生成一个随机数
const a = Math.floor(Math.random() * (max - min + 1)) + min;

// 显示随机数
console.log(`${min}${max} 之间的随机值是 ${a}`);

输出

输入最小值: 1
输入最大值: 50
在 1 和 50 之间的随机值是 47

这将显示 最小值 (包括)最大值 (包括) 之间的整数输出。