Генерация случайных чисел в диапазоне параметров функции

Есть задача, нужно написать функцию с параметрами min, max, которая генерирует случайное число с плавающей точкой от min до max (но не включая max). Пытаюсь использовать Math.random, но не знаю как ему задать диапазон значений, так как он только от 0 выводит


Ответы (3 шт):

Автор решения: Eugene Pavlyuk

В документации Math.random: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random

есть нужный вам пример:

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
→ Ссылка
Автор решения: Vadim

Вот тут есть немного разных функций простых

А я долгое время пользуюсь этим:

const rand=(min,max=min+10)=>(Math.floor(min+Math.random()*(max+1-min)));

А для float:

const randFloat=(min=0, max=1)=>{
    min = min > max ? [max, max = min][0] : min;
    return (min+Math.random()*(max-min));
};
→ Ссылка
Автор решения: OPTIMUS PRIME

Пытаюсь использовать Math.random, но не знаю как ему задать диапазон значений, так как он только от 0 выводит

В интьерньетах встречал такие перлы: Math.random() * (1 - 0) + 0
Поэтому, чтобы не было никакой "магии", на пальцах:

Скажем, нужно случайное целое число от 10 до 15 не включительно.

Math.random() возвращает случайное число в диапазоне [0, 1) — не включая 1

Если умножить число на 5, оно будет диапазон [0, 5)

Добавить +10, станет [10, 15), остается полученное число округлять вниз:

Math.floor( Math.random() * 5 + 10 ) // 10, 11, 12, 13, 14

10 — это ваш min
а 5 — max - min

Оттуда и получается

Math.floor( Math.random() * (max - min) + min )

→ Ссылка