How to generate an N-digit integer random number in JavaScript

1 Answer

0 votes
function generateNDigitNumber(n) {
  if (n < 1) {
    throw new Error("n must be a positive integer (>= 1).");
  }

  // For n=1, range is 0–9; for n>1, ensure no leading zeros
  const lowerBound = n > 1 ? Math.pow(10, n - 1) : 0;
  const upperBound = Math.pow(10, n) - 1;

  // Math.random() returns [0,1), scale to range
  const range = upperBound - lowerBound + 1;
  const r = Math.floor(Math.random() * range) + lowerBound;

  return r;
}

console.log(generateNDigitNumber(1));
console.log(generateNDigitNumber(4));
console.log(generateNDigitNumber(10));



/*
run:

1
6421
6165490533

*/

 



answered Nov 27, 2025 by avibootz
...