Ich möchte einen arithmetischen Ausdruck aus einer Zeichenfolge mit VB berechnen, irgendwelche Ideen?Bewerten mathematischen Ausdruck aus einer Zeichenfolge mit VB
Als Beispiel: "x + 2" aus einer Textbox, möchte ich den Ausdruck
Ich möchte einen arithmetischen Ausdruck aus einer Zeichenfolge mit VB berechnen, irgendwelche Ideen?Bewerten mathematischen Ausdruck aus einer Zeichenfolge mit VB
Als Beispiel: "x + 2" aus einer Textbox, möchte ich den Ausdruck
Sie NCalc
für diesen Einsatz bewerten. Er akzeptiert auch Parameter wie x, y, z, ...
Dim e As Expression = new Expression("2 + 3 * 5")
Msgbox(17 = e.Evaluate())
Wissen Sie, ob es [LaTex] (http://en.wikipedia.org/wiki/LaTeX) parsen kann? –
@JohanLarsson Sorry, ich habe keine Ahnung :( –
Es gibt keine bultin Lösungen auf .Net-Framework? –
Sie mxparser Bibliothek für dieses purpose.Give eine Referenz verwenden können in Ihrem Projekt mxparser.dll von ADD Referenztaste Microsoft klicken Visuelle Studio.Der Quellcode der mxparser-Bibliothek oder die neueste DLL-Datei kann von www.mathparser.org stammen. Der mXparser ist ein Math Parser für Java, Android, C# .NET (CLS) -Bibliotheken.
Imports org.mariuszgromada.math.mxparser
Private Function evaluate(ByVal str As String) AS Double
Dim expr As Expression = New Expression(str)
DIM d1 As Double
d1=0
d1=expr.calculate()
return d1
End Function
Aufruf an die Funktion kann wie folgt sein.
DIM str as String
str=""
str=((45^5)/45))*(5*6)
Dim d as Double
d=0
d=evaluate(str)
MsgBox(" The result of the expression is " + d.ToString)
Für mXparser (http://mathparser.org/) gibt es sogar nettes "Hallo Welt" Tutorial für VB :-) http://mathparser.org/mxparser-hello - world/mxparser-hello - world - visual - basic/ –
Dim equation As String = "2+6/2"
Dim result = New DataTable().Compute(equation, Nothing)
Diese Antwort erfordert keine zusätzliche Bibliothek hinzugefügt werden Projekt:) – craigster
Ich glaube, Sie meinen Sie es als * Arithmetik * Ausdruck ausgeführt werden soll. Ein * regulärer * Ausdruck ist [etwas völlig anderes] (http://en.wikipedia.org/wiki/Regular_Ausdruck). Ich bin sicher, du wusstest, dass bereits – MarkJ
mögliche Duplikate von [Doing Mathe in vb.net wie Eval in Javascript] (http://stackoverflow.com/questions/1452282/doing-math-in-vb-net-like-eval- in-javascript) – Boann