我们有类似的代码
ncalcFormula = "[OD1000]=[OD1100]+[OD1200]+[OD1350]+[OD1450]"
var expression = new Expression(ncalcFormula);
foreach (FormulaParameter fp in parsedParameters)
{
expression.Parameters[fp.QuestionKey] = fp.Value;
}
object res = expression.Evaluate();
原始表达式:- [OD1000]=[OD1100]+[OD1200]+[OD1350]+[OD1450]
评估后调用解析表达式:- {([OD1000])= (((([OD1100])+ ([OD1200])+ ([OD1350])+ ([OD1450])}
通过添加参数值进行测试,如下所示
1) 9.33 = 2.25 + 3.25 + 1.5 + 2.33
2) 15617031.48 = 15226149.36 + 166208.00 + 0.00 + 224674.12
评估后 1) 将返回 true 并且 2) 将返回 false 尽管两个表达式都是正确的。
请建议。