Conversion

Signaler
Messages postés
15
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
21 novembre 2010
-
Messages postés
15
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
21 novembre 2010
-
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

Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
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
Messages postés
15
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
21 novembre 2010

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);
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
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
Messages postés
15
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
21 novembre 2010

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++?
Messages postés
15
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
21 novembre 2010

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.
Messages postés
15
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
21 novembre 2010

Un peu d'aide SVP