![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
nbsp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.7.2007 Репутация: нет Всего: нет |
Google Calculator форматирует математическое выражение следующим образом:
2+2/2 ---> 2 + (2 / 2) 2+2/2*PI ---> 2 + ((2 / 2) * PI) Проще говоря - расcтавляет круглые скобки по правилам. Кто-нибудь знает как сделать это на JavaScript? |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
magelan |
|
|||
![]() потерял xPath ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 5.4.2010 Репутация: 2 Всего: 16 |
Эко ksnk молодец. Сходу погрузил человека в волшебную страну ОПН.
Я немного расшифрую что он имел в виду. Задача дробится на две: 1. Написать некоторый лексиматор, который разберет строку вида 2+2/2*PI на лексемы сформировав, например, массив [2, 2, 2, '/', 'PI', '*', '+']. Любой компилятор любого языка базируется на лексическом разборе, а ksnk вам правильно указал формат который будет самым удобным в вашей задаче. Пишется такая штука либо хитропопым регексом с последующей обработкой, либо рекурсией (т.к. во входящем выражении могут оказаться скобочки тоже). Задачка весьма красивая (настоящий мед для настоящего программиста), но ресурсоемкая и не часто встречающаяся, гуглите на тему разбор математических выражений - что-нибудь найдете, не важно на каком языке. 2. Развернуть Польскую Нотацию обратно в формулу, весьма скучно делается одним проходом цикла. Это сообщение отредактировал(а) magelan - 29.10.2010, 18:18 |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |