2015-07-25 3 views
0

Я пытаюсь найти способ запустить в моей команде сценарий узла, который получает случайное число от 0,01 до 10,85, например. Номер должен выглядеть как 0.01, а не 0,000000001.Как получить случайное число в определенном диапазоне с помощью Javascript?

Как я могу это сделать?

Моя текущая команда:

var randomTicket = helper.getRandomInt(0, 10.85); 

Эта команда по какой-то причине он возвращает только номер 0

Существуют ли другие альтернативные способы?

ответ

0

Math.random сделал бы трюк. Он возвращает значение между [0,1) (1 является исключительным). Затем вы масштабируете диапазон на разницу между макс и мин и добавляете min в качестве смещения.

function getRandomArbitrary(min, max) { 
    return Math.random() * (max - min) + min; 
} 

Но поскольку вы получаете значение поплавка, вы не можете закрепить десятичное значение после второй позиции. Вы можете отформатировать его до строки. Я не уверен, но это должно сработать.

var number = getRandomArbitrary(0.01, 10.85); 
var numString = number.toFixed(2); 

EDIT

Если вы только генерировать целые числа, то умножаем мин и макс на 100.0 и разделить результат на 100.0.

var number = getRandomArbitrary(1.0, 1085.0); 
var numString = (number/100.0).toFixed(2); 

или

var number = getRandomInt(1, 1085); 
var numString = (number/100.0).toFixed(2); 
+0

В любом случае, я могу сделать это на основе getRandomInt? –

+0

Я знаю, что getRandomInt для целых чисел, но есть что-то подобное? получить insted 0-1-2-3-4-5, чтобы получить 0,01 0,02 ... 10,00 10,08 и т. д. –

+0

К сожалению, я не являюсь вспомогательным объектом/модулем. Но я изменю свой ответ на случай, когда вы генерируете целые числа. –

Смежные вопросы