как получить рандомное число из диапазона в том числе и с плавающей точкой? Decimal
К примеру, есть rand()
, но там только int
.
А как сделать, чтобы на выходе получалось число из диапазонов таких число должно быть Decimal
на выходе:
$rand = rand(1.12, 5.45); или //типа 3.82
$rand = rand(14, 20.5); или //20.10
$rand = rand(5, 8); или //2.01
Вот этот вариант не работает:
static function mt_rand_float($min, $max, $countZero = '0') {
$countZero = +('1'.$countZero);
$min = floor($min*$countZero);
$max = floor($max*$countZero);
return mt_rand($min, $max) / $countZero;
}
return self::mt_rand_float(1.22, 5.8);
//mt_rand(): Argument #1 ($min) must be of type int, float given
Источник: Stack Overflow на русском