Спустя 6 минут, 55 секунд (8.05.2010 - 13:01) sergeiss написал(а):
Функция eval(), при правильном использовании - это то, что нужно в такой ситуации.
Спустя 6 минут, 41 секунда (8.05.2010 - 13:08) twin написал(а):
ой
Спустя 3 часа, 17 минут, 59 секунд (8.05.2010 - 16:26) Michael написал(а):
парсить и делить.
Спустя 8 часов, 57 минут, 42 секунды (9.05.2010 - 01:24) sergeiss написал(а):
Один ойкает (и чё ойкает-то?), другой парсить отправляет...
Я ж говорю - eval() как раз для таких случаев:
PS. Ясно дело, что если юзер вводит формулу, то надо ее проверять. Чтоб инъекцию не пропустить Которая может быть похлеще, чем SQL-инъекция.
Я ж говорю - eval() как раз для таких случаев:
$formula='7000/10';
$eval='$res='.$formula.';';
eval( $eval );
echo '$res='.$res;
PS. Ясно дело, что если юзер вводит формулу, то надо ее проверять. Чтоб инъекцию не пропустить Которая может быть похлеще, чем SQL-инъекция.
Спустя 6 часов, 38 минут, 18 секунд (9.05.2010 - 08:02) Michael написал(а):
Моя версия:
$str = '7000/100';
$arr = explode('/', $str);
echo number_format((intval($arr[0])/intval($arr[1])), 1);
Спустя 2 часа, 37 минут, 42 секунды (9.05.2010 - 10:40) sergeiss написал(а):
Michael - а где универсальность? Допустим, там не деление, а умножение.
И чё? Где у тебя анализ содержимого? А если сложение, вычитание... А если сложное выражение?
Короче говоря, если уж делать, то универсальное что-то надо. Я так подозреваю, что автор хотет сделать нечто типа калькулятора А там нужно универсальное решение.
$str='200*3.5';
И чё? Где у тебя анализ содержимого? А если сложение, вычитание... А если сложное выражение?
Короче говоря, если уж делать, то универсальное что-то надо. Я так подозреваю, что автор хотет сделать нечто типа калькулятора А там нужно универсальное решение.