Szybkie liczenie złożonych działań

Szybkie liczenie złożonych działań
SS
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,
poszukuję sposobu, na szybkie obliczenie dość złożonych działań (nawiasy, potęgi, pierwiastki, dodawanie itd) wpisywanych przez użytkownika. Teoretycznie mógłbym wziąć i kombinować nad podzieleniem tego na części, obliczeniem i dodaniem. Jednak może jest jakiś prostszy sposób? Całość jest podawana w stringu.
Chodzi mi o działania w stylu 8/2(3+5)*5-2 itd - całość opiera się głównie na nawiasach i kolejności liczenia.
Dziękuję za pomoc i pozdrawiam.
SlaviS

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
3

Są dwie możliwości:

  1. implementacja ONP - bardziej pro, można na nią wyrywać lachony;
  2. dynamiczna kompilacja kodu - szybsza w implementacji, jak np. tutaj: Operacje matematyczne z TextBox
LB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 43
0

Najprostrze rozwiązanie:
Jeśli masz serwer SQL to po prosu wysłanie takiego zapytania: "SELECT [tu twoje wyrażenie np.: 4+3*(4+1)]". W rezultacie dostajesz wynik tego działania. Działa to także z wszystkimi funkcjami matematycznymi ( abs, cos, sin...)
I po co pisać kalkulator ONP?

SS
  • Rejestracja: dni
  • Ostatnio: dni
0

Całość jest aplikacja mobilną, serwera SQL nie mam. Jeszcze jakieś inne opcje czy pozostaje ONP?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.