Формульный калькулятор на PHP
Этот калькулятор является демонстрационной "мордой" для класса
Natty_Calc, предназначенного для широкого круга задач,
связанных с парсингом и вычислением формул, заданных пользователями сайта.
Класс является универсальным, поддерживает переменные и их диапазоны. За
образец синтаксиса формул взят MSExel/OOCalc. В настоящий момент
Natty_Calc поддерживает более полусотни математических и
логических функций MSExel/OOCalc.
Скачать Natty_Calc можно здесь.
Со всем вниманием отнесусь к предложениям по развитию калькулятора и сообщениям
о багах.
Дмитрий Скоробогатов
Метки материала:
калькулятор, формулы, Natty_Calc, PHP, скрипт PHP
10 комментариев
Гость Sukhov
Давно в голове литала идея реализовать на php обратную польскую натацию, люблю я её, на ней изучал c++  . Лично мне пока это ни где не пригодить, но в закладки поставил, вещь полезная.
Павел.
P.S. xBB & Editor пользуюсь, доволен. Удачи.
dima
Спасибо.
Свой обработчик формул решил написать после прочтения темы на ПХПКлубе, в которой такая задача не получила решения. Поиск дал очень немного.
Вот ситуации, в которых мой класс мог бы реально помочь:
- Редактор формул, технология написания;
- подсчет формулы;
- нужен калькулятор;
- Проверка исполяемого кода в eval.
Вот список аналогов моего калькулятора:
- a.calc - поддерживает переменные и арифметические действия. Не поддерживает функции и работу со строками и логическими выражениями;
- Math_RPN - поддерживает математические функции. Не поддерживает переменные и работу со строками и логическими выражениями.
- "Парсер на РНР - это возможно!" - Статья о написании парсера, проиллюстрированная классом для вычисления арифметических выражений. Нет функций и переменных.
- Википедия:Функции парсера - Отличная вещь, но с очень своеобразным синтаксисом.
В общем, сработал принцип "Сделай сам"
Гость Arman
Димич, было бы шикарно реализовать этот кальк без перезагрузки страницы при вычислениях ;)
dima
Ну, это к собственно либе отношения не имеет. Ajax - фронтентд. Natty_Calc - бакенд. И вместе им не сойтись
В смысле, что не хочу писать какого либо визуала, чтобы граждане не думали, что калькулятор только этим визуалом и ограничен.
А в принципе, кому надо - ажакс в руки.
Гость savedlife
добрый день. очень интересует функция цикла while. если вам не очень сложно, помогите пожалуйста ее доделать..а то я пробую но никак не получается..
спасибо ;)
dima
А каков должен быть синтаксис у этой функции? Покажите пример выражения с использованием такой функции.
Искал аналог в OO Calc. Не нашел.
Гость RUSich
Автору огромнейший респект. Сейчас делаю компонент для joomla. Думал придеться заморачиваться, свой писать, а тут загуглил и наткнулся на ваше творение. Очень помогло. Единственное - это то что мне надо работать в линейном списке парраметров с произвольными(почти) именами, а у вас модель exel с 2х мерным списком параметров. Но урезать функциональность не сложно (просто написал класс оболочку...)
dima
Рад, что Вам пригодилось  А для каких задач?
Гость RUSich
так сразу даже как-то не опишешь. Делаю что то вроде интернет магазина, но у товаров цена не фиксированная, а расчитываеться по формуле. Формулу вводит администратор, а параметры пользователи.
dima
Интересно. Продвинутый у вас заказчик  Когда я только-только опубликовал скрипт, мне говорили, что он останется невостребованным, так как в Вебе нет задач, для которых он мог бы понадобиться. Рад, что такие задачи появились.
Оставьте свой комментарий:
|