2010-10-11 15 views
1

Hai tous,Conversion de chaînes de formule à la formule mathématique en C#

que je fais C# .NET pour calculer les différentes formules et de donner suite à l'utilisateur, les utilisateurs peuvent entrer dans une formule et chacune des valeurs de formule sont stockées dans la base de données comme celui-ci .

alt text

Après avoir sauvé comme ça que je veux calculer le result.When calculer le résultat, l'application demande des valeurs pour variables .Mais comment puis-je calculer avec ces valeurs. Veuillez aider à récupérer chaque valeur de la base de données et calculer le résultat.

+0

est ce devoir? –

+0

Vous devez ajouter plus de détails sur la façon dont les formules sont décrites, comment la priorité d'opérateur est-elle définie (parenthèse)? Quel devrait être le résultat de l'exemple ci-dessus? –

+0

@Albin Sunnanbo: problème est que la précédence n'est pas définie (parenthèse). Seules les valeurs de sauvegarde sont variables/constante et opérateur.S'il vous plaît regarder l'image téléchargée. –

Répondre

4

Vous pouvez utiliser l'algorithme Shunting-yard pour convertir l'expression en notation postfixée ou à ast directement. Voir cette réponse pour une bonne explication: Equation (expression) parser with precedence

+1

+1: Vous voudrez peut-être ajouter ces liens utiles: http://en.wikipedia.org/wiki/Shunting-yard_algorithm et http://en.wikipedia.org/wiki/Postfix_notation –

Questions connexes