JS - 如何生成一个长随机数?

JS - How can I generate a long random number?

我知道我需要使用 Math.random() 来制作随机数,但今天我尝试制作一个介于 1 和 9999 之间的随机数...(9 重复 19 次)并且我的输出总是以 3-5 个零结尾。如何生成更详细的随机数?

我做了什么:

const foo = Math.floor(Math.random() * parseInt("9".repeat(19)));

此外,我很确定我知道该怎么做,但是如果有人能告诉我,我该如何填充零以达到特定的位数? (例如,pad(15,4) 变为 0015,因为您还需要 2 位数字才能使其成为 4 位数字)

您 运行 进入 Number.MAX_SAFE_INTEGER。最大精确整数值为 2^53-1,即 9007199254740991.

最好的办法可能是只使用一串随机整数(也解决填充问题):

let foo = '';
for(i=0; i<19; ++i) foo += Math.floor(Math.random() * 10);
alert(foo);

您需要使用编码为字符串的数字。像这样的循环:

var desiredMaxLength = 19
var randomNumber = '';
for (var i = 0; i < desiredMaxLength; i++) {
    randomNumber += Math.floor(Math.random() * 10);
}

可以使用位于 https://github.com/rauschma/strintstrint 库对表示为字符串的数字进行算术运算。