Calcular Strings

8 respostas
D

Pessoal tem como eu calcular alguma expressao que esta em String como : “5+2*3-1”?

8 Respostas

G

Fala Dota.

Não conheço nenhum método da API que faça isso.
Nunca fiz isso, mas na raça, começaria tentando utilizar o método split() da classe String e recursão para avaliar a expressão.

Abs.

D

Guachala:
Fala Dota.

Não conheço nenhum método da API que faça isso.
Nunca fiz isso, mas na raça, começaria tentando utilizar o método split() da classe String e recursão para avaliar a expressão.

Abs.

Com split é treta ia ficar muita gambeta hehe. Mas eu achei uma api do beanshell que usa o metodo eval(), fez exatamente o que eu queria :smiley:

G

Poxa, legal. Não conhecia o beanshell. Ele é muito diferente do groovy? :stuck_out_tongue:

Abs.

ViniGodoy

O Groovy Faz.

E o projeto Towel também:

douglaskd

como será que foi criado esse método eval

no delphi eu não encontrei…estava pensando que talves ele use expressões regulares, depois ele verifica a precedencia, e vai fazendo os calculos

o complicado é resolver algo do tipo (20*((40/4)*30)+(6-4))*8

não faço idéia como ele funciona.

ViniGodoy

Procure por notação infixa e pós fixa.

Mas basicamente vc usa uma pilha para guardar a ordem das expressões e resultados intermediários.

claudneto

Falando assim parece algo simples! Hahaha…

douglaskd

é…eu dei uma pesquisada, vi uma explicação em C usando ponteiros

é um pouco complexo

Criado 12 de maio de 2011
Ultima resposta 12 de mai. de 2011
Respostas 8
Participantes 5