Подтвердить что ты не робот

Использовать PHP для генерации случайного десятичного числа до двух децимал

Мне нужно создать случайное число, до 10-го пятна между двумя десятичными знаками в PHP.

Ex. Число rand между 1.2 и 5.7. Он вернет 3.4

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

4b9b3361

Ответ 1

Вы можете использовать:

rand ($min*10, $max*10) / 10

или даже лучше:

mt_rand ($min*10, $max*10) / 10

Ответ 2

Более общее решение было бы:

function count_decimals($x){
   return  strlen(substr(strrchr($x+"", "."), 1));
}

public function random($min, $max){
   $decimals = max(count_decimals($min), count_decimals($max));
   $factor = pow(10, $decimals);
   return rand($min*$factor, $max*$factor) / $factor;
}

$answer = random(1.2, 5.7);

Ответ 3

Вы можете сделать что-то вроде:

rand(12, 57) / 10

Случайная функция PHP позволяет использовать только целые пределы, но затем вы можете разделить полученное случайное число на 10.