vb.net使用带有DataTable()的幂运算符。计算

时间:2015-01-19 17:30:45

标签: vb.net

我有一个数据库,其中包含根据表单字段的给定输入计算所选产品成本的公式。它创建了将字符串作为数学表达式进行求值的需求。在搜索SO之后,我找到了一个使用`DataTable()的解决方案。计算。

formulaToUse = Replace(formulaToUse, "x", coverArea.Text)                       
Dim result = New DataTable().Compute(formulaToUse, "")
MsgBox(result)

如您所见,我正在用输入值替换“x”,然后将字符串作为数学表达式进行评估。问题是,我的数据库中的一些公式需要使用幂运算符(^)(即5 * x ^ 0.68),这会抛出异常“表达式包含不支持的运算符'^'。”

那怎么办呢?我可以/应该使用不同的操作员吗?

1 个答案:

答案 0 :(得分:0)

使用ILCalc结束。

Dim calc = New CalcContext(Of Double)("x")
MsgBox(calc.Evaluate(formulaToUse, CDbl(coverArea.Text)))

感谢@Plutonix的输入。