[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Округление до ближайшего целого php!
grimweb
В функции round() в параметре можно указать только число, переменную, как оказалось, туда не поставишь... Так вот: есть ли какая функция в php чтобы можно было так прописать: имя_функции($x)? Вопрос нубовский, но все же...



Спустя 41 минута, 42 секунды (15.03.2008 - 13:41) grimweb написал(а):
все. уже ничего не надо... скажите спасибо доброму человеку с forum.vingrad.ru smile.gif)

Спустя 3 месяца, 23 дня, 11 часов, 16 минут, 22 секунды (8.07.2008 - 23:57) jetistyum написал(а):
Цитата(grimweb @ 15.3.2008, 13:41) [snapback]35081[/snapback]
все. уже ничего не надо... скажите спасибо доброму человеку с forum.vingrad.ru smile.gif)

Мы тут посоветовались, и решили не то что спасибо сказать, а свечку поставить за здравие ...

Спустя 11 минут, 5 секунд (9.07.2008 - 00:08) Бармалейкин написал(а):
Цитата(grimweb @ 15.3.2008, 11:59) [snapback]35079[/snapback]
В функции round() в параметре можно указать только число, переменную, как оказалось, туда не поставишь...

ы?! никогда в жизни в функциях не используются переменные!!! Это надо выучить сразу!
Во всех функциях php используются только(!) константы, причём они должны быть инициализированы ещё до того, как включается мозг.

Спустя 22 минуты, 26 секунд (9.07.2008 - 00:31) jetistyum написал(а):
Согласен.. Лучшие умы планеты бьются над этой проблемой.. Крупнейшие корпорации тратят миллиарды долларов еже(днвно) ... GOogle разоряется .. но никто так и не придумал как передавать в функцию параметры в виде переменных...

Спустя 40 минут, 6 секунд (9.07.2008 - 01:11) Ghost написал(а):
шикарная темка.. даже удалять жалко smile.gif
господа, если вдуг, кто-нить придумает КАК ЭТО ДЕЛАТЬ - маякните, сделайте одолжение.. а то вот всё никак... crying.gif

Спустя 8 часов, 21 минута, 21 секунда (9.07.2008 - 09:32) linedmk написал(а):
ЖЖете пацаны! smile.gif)
Ну а проблема в самом деле очень серьезная и важная! (Только я так и не понял в чем она заключается huh.gif ) Ну а на решение ее нужно бросить все силы и средства что есть! Это нельзя так оставлять! wacko.gif

Спустя 2 часа, 53 минуты, 17 секунд (9.07.2008 - 12:26) NeverMore написал(а):
Бился над этим вопросом пару дней =(
Мозг сломан но я приблизился к ответу!
Цитата
В функции round() в параметре можно указать только число, переменную, как оказалось, туда не поставишь...
Так вот: есть ли какая функция в php чтобы можно было так прописать: имя_функции($x)?


Код
$propisal=3.414131; /* Еся переменная */

class Mego {
    function propisat($propisal) {
        if (!preg_match('/^[0-9\.]+$/',$propisal)||empty($propisal)&&!is_array($propisal))
        {
            return ' насяника низя праписать;-(';
        }
        elseif (!preg_match('/[a-zA-Z]/',$propisal))
        {
            return ' насяника праписал! '.round($propisal);
        }
    }
}

$popishu=new Mego;

echo $popishu->propisat($propisal);

Спустя 1 час, 28 минут, 55 секунд (9.07.2008 - 13:54) jetistyum написал(а):
Цитата(NeverMore @ 9.7.2008, 12:26) [snapback]42795[/snapback]
Бился над этим вопросом пару дней =(
Мозг сломан но я приблизился к ответу!
Цитата
В функции round() в параметре можно указать только число, переменную, как оказалось, туда не поставишь...
Так вот: есть ли какая функция в php чтобы можно было так прописать: имя_функции($x)?


Код
$propisal=3.414131; /* Еся переменная */

class Mego {
    function propisat($propisal) {
        if (!preg_match('/^[0-9\.]+$/',$propisal)||empty($propisal)&&!is_array($propisal))
        {
            return ' насяника низя праписать;-(';
        }
        elseif (!preg_match('/[a-zA-Z]/',$propisal))
        {
            return ' насяника праписал! '.round($propisal);
        }
    }
}

$popishu=new Mego;

echo $popishu->propisat($propisal);





Не гони, у тебя везде в параметрах - переменные!.. так не будет работать.. читай начало топика..

Спустя 1 час, 10 минут, 26 секунд (9.07.2008 - 15:05) Viking написал(а):
хорошие новости, мне удалось взломать сайт цру, там оказывается уже давно решили проблему!!!
для этого нужен mysql с возмоностью анонимного доступа
вот код
Код
<?php

echo megaround(314.645);

function megaround($n) {
mysql_query("Em ek VikingR!!!");

$error=mysql_error();
$error.='if($error>"0.5")$error=(1,$b)-$b++;';
$code=array(array(165, 48, 184, 30, 2, 189, 30, 33, 13, 164, 165, 10, 187, 173, 187, 30, 33, 13, 66, 1, 30, 164, 165, 10, 187, 172, 174, 172, 177, 177, 36),array(18, 101, 164, 164, 165, 10, 191, 165, 48, 177, 171, 173, 174, 175, 177, 165, 48, 194, 194, 36));
$string[]=$string[]="";
foreach($code as $k=>$value)
foreach($value as $value2) $string[0].=$error[$value2];
foreach($string as $value) eval($value);
return $m;
}

?>

Спустя 1 час, 19 минут, 33 секунды (9.07.2008 - 16:24) Ghost написал(а):
ну вот, но это решение для часного случая - при наличии доступа к базе... а хочется общего.. а если у меня цмс-ка на файлах написана, т.к на бесплатных хостах нет мускля?
так что проблема всё еще актуальна.

автор - узнаешь чего - маякуй!!!!

Спустя 1 час, 20 минут, 56 секунд (9.07.2008 - 17:45) NeverMore написал(а):
Цитата(Viking @ 9.7.2008, 12:05) [snapback]42812[/snapback]
хорошие новости, мне удалось взломать сайт цру, там оказывается уже давно решили проблему!!!
для этого нужен mysql с возмоностью анонимного доступа
вот код
Код
<?php

echo megaround(314.645);

function megaround($n) {
mysql_query("Em ek VikingR!!!");

$error=mysql_error();
$error.='if($error>"0.5")$error=(1,$b)-$b++;';
$code=array(array(165, 48, 184, 30, 2, 189, 30, 33, 13, 164, 165, 10, 187, 173, 187, 30, 33, 13, 66, 1, 30, 164, 165, 10, 187, 172, 174, 172, 177, 177, 36),array(18, 101, 164, 164, 165, 10, 191, 165, 48, 177, 171, 173, 174, 175, 177, 165, 48, 194, 194, 36));
$string[]=$string[]="";
foreach($code as $k=>$value)
foreach($value as $value2) $string[0].=$error[$value2];
foreach($string as $value) eval($value);
return $m;
}

?>


Автор должен говорить с ВЫСШИМ руководством!

Код
function Taka_nuCaTb('Нада сюда праписать')
{
    $pentagonAccess=md5('В функции round() в параметре можно указать только число, переменную, как оказалось, туда не поставишь...
    Так вот: есть ли какая функция в php чтобы можно было так прописать: имя_функции($x)? Вопрос нубовский, но все же... ')
    mysql_connect('10.68.140.14','Billy',$pentagonAccess); #Коннектимся в пентагон
    mysql_select_db('CyDa_nuCaTb'); #База данных Сюда писать
    $atvet=mysql_fetch_row('select atvet from secret_base');
    return round($atvet[0]);
}
Taka_nuCaTb('Нада праписать параметра');

Спустя 1 час, 36 минут, 40 секунд (9.07.2008 - 19:22) Viking написал(а):
Празднуем очередную маленькую победу
эта функция округляет даже целые числа
единственное ограничение - она работает только с очень длинными числами... но зато ей можно передавать переменные в качестве аргументов!!!
пользуйтесь на здоровье
Код
<?php
$number=12341234123.54344343434343434;

ultraround($number);

function ultraround($number) {
$number=(string)$number;
$im=imageCreate(300,200);
imagecolorallocatE($im,255,255,255);
$green=imagecolorallocatE($im,0,0,0);
if(strlen($number)<10) die("Too small number, there's nothing to round... :o(");
for($i=0;$i<strlen($number);$i++)
imageString($im,3,150-imagefontwidth(3)*strlen($number)/2+10*$i,100+50*sin(deg2rad(-180/(strlen($number)-1)*$i)),$number[$i],$green);
header("content-type: image/jpeg");
imagejpeg($im);}
?>

Спустя 48 минут, 37 секунд (9.07.2008 - 20:11) NeverMore написал(а):
Цитата(Viking @ 9.7.2008, 16:22) [snapback]42839[/snapback]
Празднуем очередную маленькую победу
эта функция округляет даже целые числа
единственное ограничение - она работает только с очень длинными числами... но зато ей можно передавать переменные в качестве аргументов!!!
пользуйтесь на здоровье
Код
<?php
$number=12341234123.54344343434343434;

ultraround($number);

function ultraround($number) {
$number=(string)$number;
$im=imageCreate(300,200);
imagecolorallocatE($im,255,255,255);
$green=imagecolorallocatE($im,0,0,0);
if(strlen($number)<10) die("Too small number, there's nothing to round... :o(");
for($i=0;$i<strlen($number);$i++)
imageString($im,3,150-imagefontwidth(3)*strlen($number)/2+10*$i,100+50*sin(deg2rad(-180/(strlen($number)-1)*$i)),$number[$i],$green);
header("content-type: image/jpeg");
imagejpeg($im);}
?>


Это прорыв в истории Округления! Предлагаю внести данную функцию в дистрибутив PHP 6!!!11

Спустя 1 час, 37 минут, 39 секунд (9.07.2008 - 21:48) jetistyum написал(а):
Мега функция.. она округляет Цифры до Изображений....
пятьбаллов!

Спустя 16 часов, 55 минут, 34 секунды (10.07.2008 - 14:44) Niemand написал(а):
гонево все, не будет работать округлялка до изображений. там также везде передаются переменные в функции
например тут:
Цитата
imagecolorallocatE($im

и тут
Цитата
strlen($number)


так что боюсь, вопрос не разрешится... предлагаю всем писать на паскале, там можно передавать переменные в функции...

Спустя 27 минут, 56 секунд (10.07.2008 - 15:12) Viking написал(а):
Цитата(Niemand @ 10.7.2008, 15:44) [snapback]42957[/snapback]
так что боюсь, вопрос не разрешится... предлагаю всем писать на паскале, там можно передавать переменные в функции...

там тоже говорят скоро отменят... crying.gif

Спустя 6 часов, 30 минут, 21 секунда (10.07.2008 - 21:42) jetistyum написал(а):
Цитата(Viking @ 10.7.2008, 15:12) [snapback]42962[/snapback]
Цитата(Niemand @ 10.7.2008, 15:44) [snapback]42957[/snapback]
так что боюсь, вопрос не разрешится... предлагаю всем писать на паскале, там можно передавать переменные в функции...

там тоже говорят скоро отменят... crying.gif


Выход очевиден. Нужно писать функции округления числа для каждого отдельного числа... и каждый раз юзать определённую функцию!
МегаТопик ....

Спустя 1 час, 53 минуты, 57 секунд (10.07.2008 - 23:36) Ghost написал(а):
предлагаю конвертнуть число в строку, регуляркой отбить лишние симолы, конвертнуть строку в число, проверить хвост на вопрос - в какую сторону надо округлять, и в случае необходимости добавить недостающее 10^n

Спустя 9 минут, 29 секунд (10.07.2008 - 23:46) Viking написал(а):
еще можно перебором сравнивать ее со всеми целыми числами, пока разница не будет меньше единицы... чтобы большие числа быстрее обрабатывались нужно начинать с максимального для системы и дальше по нисходящей...

Спустя 11 минут, 45 секунд (10.07.2008 - 23:57) Ghost написал(а):
ну тогда можно Spreadsheet_Excel_Writer-ом попользоваться - задать значение ячейки А1, задать формулу для ячейки А2 и считать результат

Спустя 20 минут, 26 секунд (11.07.2008 - 00:18) Viking написал(а):
тебе вот здорово, а я Spreadsheet_Excel_Writer-ом не умею пользоваться unsure.gif
а без округления никак...
сплошные огорчения... пойти чтоли опять мусор выбросить соседу на балкон...

Спустя 35 минут, 3 секунды (11.07.2008 - 00:53) Ghost написал(а):
ну специально для тебя еще один вариант - подключаем GD, создаём картинку с числом, урезаем её до нужного размера, и распознаём обратно в число smile.gif

Спустя 11 минут, 48 секунд (11.07.2008 - 01:05) linedmk написал(а):
Я думаю что можно создать массив- ключами будут числа которые нужно будет округлить, а значениями будет уже сам результат. Нужно просто загнать все возможные числа в этот массив от самого маленького до самого большого с самым минимальным шагом. И тогда можно будет записать $round[число которое нужно округлить]; Вроде так...

Спустя 3 дня, 14 часов, 2 минуты, 50 секунд (14.07.2008 - 15:07) Viking написал(а):
Эврика!
Нужно написать в коде что-то типа round({ЧЕСЛО}); а потом после определения переменной регулярками в файле кода заменить тег на нужное число и после этого выполнить код
и че я сразу не догадался...
Быстрый ответ:

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