[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: rand();
blade
У меня такой вопрос:

Делаю такой рандом


<?php
include("con.php");
$res = mysql_query("SELECT * FROM tb_conf WHERE id='1'");
$st = mysql_fetch_assoc($res);

$min = $st['minprice'];
$max = $st['maxprice'];

$summa = rand($min,$max);

mysql_close($bd);
?>

ну и дальше код так вот $min = 0.5 а $max = 2, но в $summa попадает только 0 или 1, как это можно исправить?!



Спустя 20 минут, 32 секунды (28.07.2010 - 12:28) tomash написал(а):
rand - возвращает инт!
попробуйте так

$summa = rand($min*10,$max*10)/10;

Спустя 1 минута, 38 секунд (28.07.2010 - 12:29) Joker написал(а):

<?php
include("con.php");
$res = mysql_query("SELECT * FROM tb_conf WHERE id='1'");
$st = mysql_fetch_assoc($res);

$min = intval($st['minprice']);
$max = intval($st['maxprice']);
$min *= 10;
$max *= 10;
$summa = rand($min,$max);
$summa = $summa/10;

mysql_close($bd);
?>

Спустя 16 секунд (28.07.2010 - 12:30) blade написал(а):
Цитата (tomash @ 28.07.2010 - 09:28)
rand - возвращает инт!
попробуйте так

$summa = rand($min*10,$max*10)/10;

все равно возвращает 0

Спустя 36 секунд (28.07.2010 - 12:30) Joker написал(а):
опоздал(

Спустя 2 минуты, 51 секунда (28.07.2010 - 12:33) blade написал(а):
Цитата (Joker @ 28.07.2010 - 09:29)

<?php
include("con.php");
$res = mysql_query("SELECT * FROM tb_conf WHERE id='1'");
$st = mysql_fetch_assoc($res);

$min = intval($st['minprice']);
$max = intval($st['maxprice']);
$min *= 10;
$max *= 10;
$summa = rand($min,$max);
$summa = $summa/10;

mysql_close($bd);
?>

вот так работает но только с числами в которых после точки сразу идет любое число кроме 0 а как быть если будет рандом от 0.01 до 0.09 ?

Спустя 1 минута, 14 секунд (28.07.2010 - 12:34) blade написал(а):
я ошибся значит работают все 2 способа но вот если числа как в моей предыдущем коменте то возвращает ноль!

Спустя 19 секунд (28.07.2010 - 12:35) Joker написал(а):
на 100 умножай и дели тоже на 100

Спустя 3 минуты, 45 секунд (28.07.2010 - 12:38) tomash написал(а):
умножай на 100 и дели на 100! на 1000, смотря какая точность нужна

Спустя 4 минуты, 28 секунд (28.07.2010 - 12:43) blade написал(а):
то есть можно сделать так ?


<?php
include("con.php");
$res = mysql_query("SELECT * FROM tb_conf WHERE id='1'");
$st = mysql_fetch_assoc($res);

$min = intval($st['minprice']);
$max = intval($st['maxprice']);
if ($max < 1 && $min < 1)
{
$x = 100;
} else {
$x = 10;
}
$summa = rand($min*$x,$max*$x);
$summa = $summa/$x;

mysql_close($bd);
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.