我有一个数据库,其中包含根据表单字段的给定输入计算所选产品成本的公式。它创建了将字符串作为数学表达式进行求值的需求。在搜索SO之后,我找到了一个使用`DataTable()的解决方案。计算。
formulaToUse = Replace(formulaToUse, "x", coverArea.Text)
Dim result = New DataTable().Compute(formulaToUse, "")
MsgBox(result)
如您所见,我正在用输入值替换“x”,然后将字符串作为数学表达式进行评估。问题是,我的数据库中的一些公式需要使用幂运算符(^)(即5 * x ^ 0.68),这会抛出异常“表达式包含不支持的运算符'^'。”
那怎么办呢?我可以/应该使用不同的操作员吗?
答案 0 :(得分:0)
使用ILCalc结束。
Dim calc = New CalcContext(Of Double)("x")
MsgBox(calc.Evaluate(formulaToUse, CDbl(coverArea.Text)))
感谢@Plutonix的输入。