Meilleur auteur de réponses
Effectuer une opération arithmétique sur un String

Question
-
Bonjour,
j'ai un String contenant une opération simple genre "5+2".
Je souhaite bien entendu obtenir en sortie le résultat 7. Pour cela, j'ai essayé de convertir directement ce string en int avec int.Parse() et Convert.ToInt32 mais ca ne fonctionne pas a cause de l'operateur '+'.
Quelqu'un pour m'éclairer ?
Merci
Réponses
-
Merci de votre réponse! Je vais essayer cette technique.
Sinon j'ai trouvé ce lien intéressant :
http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/900659bb-69ae-4092-89c5-4207670d241c/
Cordialement
- Proposé comme réponse Gabriel MongeonModerator mercredi 1 juin 2011 18:23
- Marqué comme réponse Ciprian Duduiala lundi 6 juin 2011 12:43
Toutes les réponses
-
Bonjour,
Microsoft ne fournit pas de classe pour ce genre d'opération en c#.
Il existe une technique consistant :
- à créer une DLL en J#, en implémentant une fonction statique utilisant la fonction eval
- ensuite il est possible de référencer cette librairie et d'utiliser la fonction statique créée précédemment
Sinon il existe de nombreux parseur fonctionnant très bien, exemple : http://www.lundin.info
Cordialement,
-
Merci de votre réponse! Je vais essayer cette technique.
Sinon j'ai trouvé ce lien intéressant :
http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/900659bb-69ae-4092-89c5-4207670d241c/
Cordialement
- Proposé comme réponse Gabriel MongeonModerator mercredi 1 juin 2011 18:23
- Marqué comme réponse Ciprian Duduiala lundi 6 juin 2011 12:43
-
Les exemples sur codeplex sont plus pertinents que de faire un solution en J#. Cela va vous éviter de coder votre propre algorithme pour traiter le tout.
Microsoft MVP C# || gabrielmongeon.com || LinkedIn -
Bonjour, Le_Mega_Fou,
Est-ce que vous avez réussi à résoudre votre problème ? Merci pour partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
-
Bonjours
Cordialementstring[] operandes = "5+2".Split(new char[] {'+',' '}); int operande1, operande2; int.TryParse(operandes[0], out operande1); int.TryParse(operandes[1], out operande2); int reusltat = operande1 + operande2;
The complexity resides in the simplicity Follow me at: http://smartssolutions.blogspot.com