我们有代码等NCalc Expression.Evaluate()给出错误的输出
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。
请建议。
会员为期4年。这是关于你学习如何在一个问题中设置自己的代码格式的时候http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks – weston
这看起来像我这样的另一个“浮动点数不起作用“的问题。 – spender