C#计算器(递归,WebService) 支持加减乘除括号等 (一)
2016-12-07 23:04
393 查看
public class Calculator : System.Web.Services.WebService
{
/// <summary>
/// 实现混合运算
/// </summary>
/// <param name="content">表达式</param>
/// <returns></returns>
[WebMethod]
public double parse(String content)
{
//标识括号
int startIndex = content.LastIndexOf("(");
if (startIndex != -1)
{
int endIndex = content.IndexOf(")", startIndex);
int len = endIndex - startIndex - 1;
double d = parse(content.Substring(startIndex + 1, len));
return parse(content.Substring(0, startIndex) + d + content.Substring(endIndex + 1));
}
//标识运算符
int index = content.IndexOf("+");
if (index != -1)
{
return parse(content.Substring(0, index)) + parse(content.Substring(index + 1));
}
index = content.LastIndexOf("-");
if (index != -1)
{
return parse(content.Substring(0, index)) - parse(content.Substring(index + 1));
}
index = content.IndexOf("*");
if (index != -1)
{
return parse(content.Substring(0, index)) * parse(content.Substring(index + 1));
}
index = content.LastIndexOf("/");
if (index != -1)
{
return parse(content.Substring(0, index)) / parse(content.Substring(index + 1));
}
return Double.Parse(content);
}
}
相关文章推荐
- C#计算器(递归,WebService) 支持加减乘除括号等 (二)
- 运用递归实现计算器加减乘除带括号优先级算法
- C#实现计算器,支持括号运算
- java自制计算器(加减乘除 清空 退位 支持小数 括号)
- C#实现简单的加减乘除计算器
- 用C#做的一个简单的加减乘除计算器,做着好玩的
- 支持多位数,括号,四则运算,的计算器算法c++实现
- 算术表达式的实现,支持加减乘除,括号运算,表达式转二叉树
- 命令模式-归约-计算器-支持四则运算、多重括号
- 问题 C: 某计算器的超电磁炮(加减乘除括号表达式求值)
- C语言实现计算器(包含加减乘除和括号)
- C语言实现加减乘除(可以带括号,浮点数)计算器
- 支持括号、分数计算的四则运算计算器
- C++-----利用括号递归实现的加减乘除
- MFC 实现 加减乘除,括号,乘方的 计算器
- 复数计算器支持加减乘除
- 计算器:递归下降法构造,支持标识符
- 【汇编】计算器,支持带括号的四则混合运算
- C++ 单位整型计算器,仅支持带括号的四则运算。初学c++第一个个人作品
- 简单加减乘除括号的计算器实现