Analyser Expression Mathématique
Est-il un moyen facile d'analyser une simple expression mathématique représenté comme une chaîne telle que (x+(2*x)/(1-x)), de fournir une valeur pour x, et d'obtenir un résultat?
J'ai regardé la VSAEngine par plusieurs exemples en ligne, cependant, je reçois un avertissement que la présente assemblée a été déprécié et ne pas l'utiliser.
Si elle fait des différences, je suis à l'aide .NET 4.0.
J'ai posté plein de la source de ce problème ici: stackoverflow.com/questions/174664/operators-as-strings
double possible de Est-il possible de le compiler et de l'exécuter de nouveau code au moment de l'exécution .NET?
double possible de Est-il une chaîne de mathématiques de l'évaluateur .NET?
double possible de Est-il possible de le compiler et de l'exécuter de nouveau code au moment de l'exécution .NET?
double possible de Est-il une chaîne de mathématiques de l'évaluateur .NET?
OriginalL'auteur Brandon | 2010-10-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer d'utiliser DataTable.Calculer.
Complémentaire est DataColumn.Expression.
Consultez également: Faire des maths en vb.net comme Eval en javascript
Remarque: je n'ai pas utilisé moi-même.
OriginalL'auteur
Je demande instamment en garde contre le choix d'un génériques existants évaluateur d'expression sur un but de construction de mathématiques de l'évaluateur. La raison pour cela est que l'expression des évaluateurs sont pas seulement les mathématiques. Une personne intelligente peut l'utiliser pour créer une instance de n'importe quel type dans le cadre et à l'appel de la méthode, le type, et qui lui permettrait de faire quelques décidément importun choses. Par exemple:
new System.Net.WebClient().DownloadFile("illegalchildpornurl", "C:\openme.gif")
permettra d'évaluer très bien dans la plupart de ceux-ci, et faire exactement ce qu'il sonne comme il serait (et faire de vous un criminel en même temps).Cela ne veut pas dire ne pas chercher quelque chose qui est déjà écrit. Cela signifie simplement être prudent. Vous voulez un qui ne les mathématiques, et des mathématiques. La plupart de ce qui est déjà sorti il n'y a pas pointilleux.
OriginalL'auteur Joel Coehoorn
J'ai été récemment à l'aide de mXparser, qui est une des mathématiques parser. Il vous donne beaucoup de flexibilité, tels que les variables, fonctions, constantes, opérateurs. Vous trouverez ci-dessous quelques exemples d'utilisation:
Exemple 1 - formule simple
Exemple 2 - formule avec des variables, des fonctions, etc.
https://mxparser.codeplex.com/
http://mathparser.org/
Trouvé recntly - vous pouvez essayer de la syntaxe (voir le cas d'utilisation) par l'intermédiaire de la Scalaire Calculatrice application qui est alimenté par mXparser.
En ce qui concerne meilleur
En ce qui concerne meilleur
OriginalL'auteur Leroy Kegan
Je voudrais aussi avoir un coup d'oeil à Jace (https://github.com/pieterderycke/Jace). Jace est une haute performance en mathématiques et l'analyseur de moteur de calcul qui prend en charge tous les .NET saveurs.NET 4.x, Windows Phone, Windows Store, ...). Jace est également disponible via NuGet: https://www.nuget.org/packages/Jace
OriginalL'auteur MuSTaNG
Ici est une façon de le faire. Ce code est écrit en Java. Remarque il ne gère pas les nombres négatifs en ce moment, mais vous pouvez l'ajouter.
}
Vous avez besoin d'importer java.util.Carte.
Voici comment j'utilise ce code:
Merci @Illishar
OriginalL'auteur user4617883
Une autre option que vous pourriez rechercher en est la Spring.NET Cadre du l'évaluation de l'expression fonctionnalité. Il peut faire beaucoup plus de maths, trop.
Cependant, l'ensemble de la Spring.NET Cadre peut-être un peu exagérer pour vos besoins si vous n'avez pas besoin du reste de la fonctionnalité.
OriginalL'auteur Joshua Rodgers
Connexes: L'équation analyseur d'expression, la priorité.
OriginalL'auteur Jared Updike
Que j'ai répondu à ce fil (Meilleur Gratuit C# Mathématiques de l'Analyseur à l'aide de variables, fonctions définies par l'utilisateur, des opérateurs personnalisés), vous pouvez utiliser Mathos Analyseur, vous pouvez simplement coller dans votre code source.
veuillez prendre un coup d'oeil à github.com/MathosProject/Mathos-Parser. Il existe également d'autres versions de github.com/MathosProject.
OriginalL'auteur Artem
Je vous recommandons d'utiliser MEEL pour cela.
OriginalL'auteur supertoha