有人知道評估一個像這樣的字符串公式的最佳方式:(123/2 * 15 + 22) 在c#中。C#公式(123/2 * 15 + 22)評估
我讀過,我應該使用ICodeCompiled,但沒有能夠找到任何好的實現來做到這一點很簡單的事情。
任何建議表示讚賞。
有人知道評估一個像這樣的字符串公式的最佳方式:(123/2 * 15 + 22) 在c#中。C#公式(123/2 * 15 + 22)評估
我讀過,我應該使用ICodeCompiled,但沒有能夠找到任何好的實現來做到這一點很簡單的事情。
任何建議表示讚賞。
您可以使用表達式分析器,如this one at CodeProject。
我會看看MSDN的文檔ICodeCompiler。
-1:對不起,但是這個非常沒有幫助的答案,你可以通過提供一個文檔鏈接來使它更有幫助。附:如果你的答案更好,我會刪除downvote。 – 2011-02-02 16:33:29
對於這種類型的問題,我通常建議FLEE;我除了使用它來做方程評估和一些基本的DSL工作以外,沒有什麼好的經歷。
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/2)* 2)`爲0或1? – 2011-02-02 16:43:02