使用VB从字符串计算数学表达式

时间:2012-11-01 13:58:58

标签: vb.net math

我想用VB计算一个字符串的算术表达式,任何想法?

作为一个例子:文本框中的“x + 2”,我想评估表达式

3 个答案:

答案 0 :(得分:11)

您可以使用 NCalc 。它还接受 x,y,z,...

等参数
Dim e As Expression = new Expression("2 + 3 * 5")
Msgbox(17 = e.Evaluate())

答案 1 :(得分:9)

Dim equation As String = "2+6/2"
Dim result = New DataTable().Compute(equation, Nothing)

答案 2 :(得分:1)

您可以使用mxparser库来实现此目的。通过单击Microsoft Visual Studio的ADD Reference按钮,在项目中提供对mxparser.dll的引用.mxparser库源代码或最新的dll文件可以来自www.mathparser.org。 mXparser是适用于Java,Android,C#.NET(CLS)库的Math Parser。

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

调用该函数可以如下。

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)