📌  相关文章
📜  javscript 随机生成 89 位数字 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:38.807000             🧑  作者: Mango

Javascript随机生成89位数字

在编程中,我们经常需要随机生成数字。Javascript提供了一个Math.random()函数来生成一个0到1之间的随机数字。但是,这个数字只有15位小数,达不到我们需要的89位数字。因此,我们需要使用其他的方式来生成我们需要的数字。

方法一:使用BigInt

ES2020引入了一个新的类型BigInt来处理大数。通过BigInt可以生成任意位数的数字。我们可以使用BigInt()函数将Math.random()生成的数字转换为BigInt类型,再进行位移和位运算,生成我们需要的89位数字。

let num = BigInt(Math.random().toString().slice(2, 17));
for (let i = 0; i < 5; i++) {
    num = (num << 15) + BigInt(Math.random().toString().slice(2, 17));
}
let result = num.toString().slice(0, 89);
console.log(result);

上述代码生成了一个89位的随机数字,并将结果输出。

方法二:使用Math库中的函数

Math库中,有一些函数可以生成一个较大的随机数字,例如Math.floor(Math.random() * 10**89)可以生成一个89位数字。但是,这种方式生成的数字可能会出现前导零,因此我们需要在生成的数字上添加前导零,使得数字达到89位。

let num = Math.floor(Math.random() * 10**89).toString();
let result = "0".repeat(89 - num.length) + num;
console.log(result);

上述代码生成了一个89位的随机数字,并将结果输出。

以上两种方法都可以生成我们需要的89位数字,具体使用哪种方法取决于个人偏好和使用场景。