我正在尝试生成一个随机数,该数字必须具有70位固定长度的固定长度。
我不知道是否使用
Math.floor((Math.random()*1000000)+1);
会创建一个少于70位数字的数字吗?
答案 0 :(得分:2)
let randomString = '';
for(var i=0; i<70; i++){
randomString+=Math.floor(Math.random()*9);
}
console.log(randomString);
答案 1 :(得分:1)
64位数字中最多可以编码19个数字的
9,223,372,036,854,775,807
(2^63 − 1
)。
如果要使用70位数字,则无法使用常规数字来表示它。您将必须使用字符串表示形式或创建自己的表示形式。
如果要生成70个数字的随机字符串,可以在一行中完成:
const random = new Array(70).fill('').map(() => Math.floor(Math.random() * 9)).join('');
console.log(random);
您甚至可以缩短数组的创建时间(请参见下面的@ygorbunkov评论):
const random = [...Array(70)].map(() => Math.floor(Math.random() * 9)).join('');
console.log(random);
答案 2 :(得分:0)
这工作得很好。它返回70个数字的字符串
let number = (Math.random().toFixed(70) * Math.pow(10,70)).toPrecision(70).substring(0,70);
console.log(number);