我将TextBox.Text
转换为Integer
时遇到问题。
该文字仅包含以下格式的数字:
例如:1 + 3 * 6 - (2 - 1)
如何将此文本框(或字符串)转换为Integer
以获取计算值?
我在网上找到的任何内容都没有帮助。
答案 0 :(得分:6)
您可以使用DataTable
作为计算器:
Dim calc As New DataTable()
Dim result = CType(calc.Compute("1 + 3 * 6 - (2 - 1)", Nothing), Double) ' 18.0
查看DataColumn.Expression
的评论,了解支持的内容。
答案 1 :(得分:0)
以下是使用NCalc(开源库)的答案:
Dim e As New NCalc.Expression("1 + 3 * 6 - (2 - 1)")
Console.WriteLine(e.Evaluate) 'prints 18
Install-Package ncalc
NCalc是.NET中的数学表达式计算器。 NCalc可以解析任何表达式并评估结果,包括静态或动态参数和自定义函数。