A voir également:
- C# parser une equation pour faire un calcul
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
1 réponse
Salut,
L'erreur vient du fait que tu ne peux pas transformer les chaines "+" et "-" pour les utiliser en temps qu'opérateurs de ton équation et retourner le double que tu attends.
A la place tu peux faire quelque chose comme cela:
L'erreur vient du fait que tu ne peux pas transformer les chaines "+" et "-" pour les utiliser en temps qu'opérateurs de ton équation et retourner le double que tu attends.
A la place tu peux faire quelque chose comme cela:
public double ParseEquation(string equation) { string[] monEquation = equation.Split("+-".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); string operateurs = @"(?<Operator>[+|-])"; System.Text.RegularExpressions.MatchCollection operateursCollection = System.Text.RegularExpressions.Regex.Matches(equation, operateurs, System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace); double resultat = Convert.ToDouble(monEquation[0]); for (int i = 0; i < monEquation.Length - 1; i++) { resultat = CalculerOperateur(resultat, Convert.ToDouble(monEquation[i + 1]), operateursCollection[i].Value); } return resultat; } private double CalculerOperateur(double nombre1, double nombre2, string op) { if (op == "-") { return nombre1 - nombre2; } else if (op == "+") { return nombre1 + nombre2; } else { // Gérer l'erreur d'opérateur } }