OVH Cloud OVH Cloud

evaluation numerique

3 réponses
Avatar
badniouz
Bonjour

existe-t-il des classes qui s'occupe d'evaluer une expression numerque
stocker sous forme d'une String

ex j'ai :
String s = "2 + 2";

et je voudrais obtenir : 4 dans un double (ou autre format numerique)

merci

3 réponses

Avatar
DeadCow
"badniouz" a écrit dans le message news:
bikiug$b2o$
Bonjour

existe-t-il des classes qui s'occupe d'evaluer une expression numerque
stocker sous forme d'une String

ex j'ai :
String s = "2 + 2";

et je voudrais obtenir : 4 dans un double (ou autre format numerique)

merci


Ca doit bien exister tout fait je pense.
Mais si tu as besoin de quelque chose de spécifique, il va faloir que tu le
fasse toi même. On est dans le cadre d'un language interprété donc il faut
que tu écrive un parseur/interpréteur ou du moins un évaluateur
d'expression. Tu as besoin de quoi exactement ? Parenthèses ? et les
opérations ? + - * / ? Et des nombres à virgule ?

-- Nicolas Repiquet

Avatar
Nicolas Delsaux
Le 28.08 2003, "DeadCow" s'est levé(e) et
s'est dit "tiens, je vais écrire aux mecs de fr.comp.lang.java"

Ca doit bien exister tout fait je pense.
Mais si tu as besoin de quelque chose de spécifique, il va faloir que
tu le fasse toi même. On est dans le cadre d'un language interprété
donc il faut que tu écrive un parseur/interpréteur ou du moins un
évaluateur d'expression. Tu as besoin de quoi exactement ? Parenthèses
? et les opérations ? + - * / ? Et des nombres à virgule ?


Dans tous les cas, les interpréteurs de Java en Java fournissent ça et bien
d'autres chose.
A voir, donc, BeanShell et DynamicJava.

--
Nicolas Delsaux
"Conan, qu'y a-t-il de mieux dans la vie ?"
Conan
"Ecraser ses ennemis, les voir mourir devant soi et entendre les
lamentations de leurs femmes."

Avatar
Dave S.
Utiliser les classes Token/Tokenizer...
"badniouz" a écrit dans le message de
news:bikiug$b2o$
Bonjour

existe-t-il des classes qui s'occupe d'evaluer une expression numerque
stocker sous forme d'une String

ex j'ai :
String s = "2 + 2";

et je voudrais obtenir : 4 dans un double (ou autre format numerique)

merci