c#四則運算方法

最近使用到單元格中計算公式,現在和大家分享一下我的解決方案。希望對大家有所幫助。

先說一下我的解決思路:

首先、將整個字符分進行分解並保存在數組中,在使用遞歸方法對每個數組元素再次生成新的數組,逐層計算,最後計算出相應的數值;

第二、數組分解順序(+或-),然後是(*或/);

第三、分解使用的split()進行分解。

關鍵代碼:

private void CalCellValueNew(_value)

{

 double result = 0.0;

if (_value != "")
 {
       if (_value.IndexOf("+") > -1)            //這裏只寫了一個加法,減法相同。
        {
             ArrayList = _value.Split('+');

             for (int i = 0; i < ArrayList.Length; i++)
                        {
                            if (ArrayList[i] != "")
                            {
                                ArrayList[i] = CalCellValueNew(ArrayList[i]);                             
                                FirstPackMeter += Convert.ToDouble(ArrayList[i]);

                  }
                            else
                                FirstPackMeter += 0;
                        }
                    }

}

}

需要注意的是如果是減法,乘法和除法,需要注意首項賦值。

希望對你有幫助!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章