C# 计算加减乘除
2013-01-03 14:13
211 查看
static void Main(string[] args) { /* * 命题:计算 加 减 乘 除,不含括号 */ var str = "8*8*8-100*2"; //计算乘法 str = Calc(str, '*'); str = Calc(str, '/'); str = Calc(str, '+'); str = Calc(str, '-'); Console.WriteLine(str); Console.Read(); } private static string Calc(string exp,char sign) { var r = new Regex(string.Format(@"(\d+)\{0}(\d+)", sign)); var exps = r.Matches(exp); if (exps.Count == 0) return exp; exp = exps.Cast<Match>().Aggregate(exp, (current, p) => current.Replace(p.ToString(), Operate(p.ToString(), sign).ToString())); exp = Calc(exp, sign); return exp; } private static double Operate(string exp,char sign) { var arr = exp.Split(sign); double result = 0; var numA = NumberHelper.FormatDouble(arr[0]); var numB = NumberHelper.FormatDouble(arr[1]); switch (sign) { case '+': result = numA + numB; break; case '-': result = numA - numB; break; case '*': result = numA * numB; break; case '/': result = numB != 0 ? numA/numB : 0; break; } return result; }
相关文章推荐
- C#面向对象编程-计算两个数的加减乘除
- c#在字符串中计算加减乘除...
- c# 浮点数计算问题
- 【C#进阶系列】26 计算限制的异步操作
- C#中时间差的计算
- C#中计算两个时间的差
- C#中计算时间差
- C# 实数矩阵行列式计算
- C# Hadoop学习笔记(十)—C#的分布式计算运行结果
- C#计算程序执行速度
- C# 计算中文汉字笔画数
- 编写一个程序,用户输入两个数,求其加减乘除,并用消息框显示计算结果。
- C#练习记录(请计算出一个整型数组的平均值。{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }。要求:计算结果如果有小数,则显示小数点后两位(四舍五入)。Math.Round())
- C#(Csharp)+OpenCL+CLBLAS库,实现GPU高性能计算。
- 根据图幅号(新图幅号)计算左下角点坐标的方法及代码(C#)
- 计算一年中的第几周/c#得到阳历对应农历日期
- C# 计算时间日期
- 世界完全对称日计算(C#)
- C# 时间相减的计算方法(获取时间间隔)
- C#计算矩阵的逆矩阵方法实例分析