商業需求是不斷在變化的,在面對不斷改變的大量需求,如果把一些計算公式(例如獎金計算公式)hard code在原始碼裡,光應付出 build 可能就累死人了,如果能把計算公式寫在設定檔裡,那問題可說是解決了一大半。
要滿足這樣的需求,Ncalc 算是不錯的選擇,它可以把放在字串裡的運算式直接做計算,下列是測試程式碼:
string strCalcExpression = "1+3-5*(55-9)";
Expression expression = new Expression(strCalcExpression, EvaluateOptions.None);
object result = expression.Evaluate();
Console.WriteLine(result);
strCalcExpression = "a+b";
expression = new Expression(strCalcExpression, EvaluateOptions.None);
expression.Parameters["a"] = "abc";
expression.Parameters["b"] = "def";
result = expression.Evaluate();
Console.WriteLine(result);
strCalcExpression = "a+b)";
expression = new Expression(strCalcExpression, EvaluateOptions.None);
if (expression.HasErrors())
Console.WriteLine(expression.Error);第一個部份是簡單的四則運算,第二個則是帶有變數的運算式,最後一個則是示範如何在計算前檢查運算式有無錯誤。
文章標籤
全站熱搜
