Conversion

CLio908 Messages postés 15 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 21 novembre 2010 - 18 avril 2010 à 01:36
CLio908 Messages postés 15 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 21 novembre 2010 - 22 avril 2010 à 11:42
Bonjour
je cherche depuis un moment une fonction qui convertisse "23.23*26+(56-56)/5" en un double
Existe t elle ou bien dois-je m'en faire une?
Merci

6 réponses

cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
18 avril 2010 à 01:55
double v = 23.23*26.0+(56.0-56.0)/5.0;

suffit pas ?!

au passage : (56.0-56.0)/5.0 : inutile tu ne trouves pas ?

@+
Arnotic,
Admin CS
0
CLio908 Messages postés 15 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 21 novembre 2010
18 avril 2010 à 09:48
merci de répondre si tard dans la nuit...
la succession des chiffres n'est qu'un exemple et n'a aucun sens.
C'est une chaine de caractère à la base
Je veux la convertir en un double
le string peut contenir des chiffres, des opérateurs /*-+, des fonctions mathématiques (sin cos tan exp), des parenthèses ().
par la suite pourra prendre des variables (ex s="25+(Var1-Var2)/2")

c'est donc le passage d'un string vers double.

ex:
double s;
string e="125+26-(56-45*4.2)/3.75"
s=fonction(e);
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
18 avril 2010 à 10:11
Tu trouveras ton bonheur à cette adresse là :

http://www.cppfrance.com/codes/EVALUATION-EXPRESSION-MATHEMATIQUE-COMPLEXE_38401.aspx
"Le but est de pouvoir évaluer des expressions mathématiques de tout genre telles que (2*(exp(tan(pi/4))))^2-cos(ln(sin(pi/2))) ou 1+2 :-). Le code est écrit en C ANSI (rien d'autre que des fonctions de la bibliothèque standard) et il est très facile à comprendre."

@+
Arnotic,
Admin CS
0
CLio908 Messages postés 15 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 21 novembre 2010
19 avril 2010 à 14:56
Bonjour
j'essaie le code Fexpert mais j'ai un petit souci:
je suis sous code block
dans le main.cpp
l'appel a la fonction eval n'est pas reconnue
Est-ce parce que c'est du c et que je suis en c++?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CLio908 Messages postés 15 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 21 novembre 2010
19 avril 2010 à 23:16
Re
CB me renvoie le message suivant
référence indéfinie vers "eval(char*,...)"

je comprends pas pourquoi dans eval il passe "oi" puis 3.1415 et NULL en param.
0
CLio908 Messages postés 15 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 21 novembre 2010
22 avril 2010 à 11:42
Un peu d'aide SVP
0
Rejoignez-nous