close
商業需求是不斷在變化的,在面對不斷改變的大量需求,如果把一些計算公式(例如獎金計算公式)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);
第一個部份是簡單的四則運算,第二個則是帶有變數的運算式,最後一個則是示範如何在計算前檢查運算式有無錯誤。
全站熱搜