Это потому, что a
это число, а не строка. То, что вы, вероятно, хотите сделать что-то вроде этого:
var val = Math.floor(1000 + Math.random() * 9000);
console.log(val);
Math.random()
сгенерирует число с плавающей точкой в диапазоне [0, 1) (заметим, что 1 исключается из диапазона).
- Умножение на 9000 результатов в диапазоне [0, 9000].
- Добавление 1000 результатов в диапазоне [1000, 10000).
- Напольное покрытие отбрасывает десятичное значение, чтобы дать вам целое число. Обратите внимание, что он не раунд.
Общий случай
Если вы хотите создать целое число в диапазоне [х, у), вы можете использовать следующий код:
Math.floor(x + (y - x) * Math.random());
Что 'предупреждение (а) 'есть? –
'Math.floor' возвращает ** номер **. Числа не имеют метода подстроки. –