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);

第一個部份是簡單的四則運算,第二個則是帶有變數的運算式,最後一個則是示範如何在計算前檢查運算式有無錯誤。

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()