有人知道评估像这样的字符串公式的最佳方法:(123/2 * 15 + 22) 在c#中。
我已经读过我应该使用ICodeCompiled,但是还没有找到任何好的实现来做这件事。
任何建议都表示赞赏。
答案 0 :(得分:9)
class Program {
static void Main(string[] args) {
var calc = new System.Data.DataTable();
Console.WriteLine(calc.Compute("(123/2*15+22)", ""));
Console.ReadLine();
}
}
输出:944.5
答案 1 :(得分:1)
我将在ICodeCompiler上查看MSDN的文档。
答案 2 :(得分:0)
您可以使用表达式解析器,例如this one at CodeProject。
答案 3 :(得分:0)
对于此类问题,我通常建议使用FLEE;我只有使用它进行方程式评估和一些基本的DSL工作的好经验。