一个计算四则运算表达式文本的方法
2014-06-04 18:23
423 查看
代码很简单 但是由自己慢慢思考出来的,所以还是有纪念价值
public function math(str:String):Number{ //如果格式化字符是数字 就返回这个数字 if(parseFloat(str).toString() == str && !isNaN(parseFloat(str))){ return parseFloat(str); } //判断括号 优先计算括号内 然后将计算结果再次代入字符串进行递归 var left:int; var right:int; while(str.indexOf("(") >= 0){ left = str.lastIndexOf("("); right = str.indexOf(")",left); str = str.substring(0,left) + math(str.substring(left + 1,right)).toString() + str.substring(right + 1 , str.length); } //判断运算符 由于运算优先 所以先进行 + - 分割 从而优先 运算 * / var index:int; if((index = str.indexOf("+")) >= 0){ return math(str.substring(0,index)) + math(str.substring(index + 1,str.length)); }else if((index = str.indexOf("-")) >= 0){ return math(str.substring(0,index)) - math(str.substring(index + 1,str.length)); }else if((index = str.indexOf("*")) >= 0){ return math(str.substring(0,index)) * math(str.substring(index + 1,str.length)); }else if((index = str.indexOf("/")) >= 0){ return math(str.substring(0,index)) / math(str.substring(index + 1,str.length)); } //此处返回0是因为当字段内容既不存在 +-*/() 也不是数字的情况下 即递归的表达式类似 -1 分割出来的 "" - "1" -> "0" - "1" return 0; }
相关文章推荐
- 计算一个字符串表示的四则运算表达式
- 计算字符串四则运算表达式
- 用PHP实现的四则运算表达式计算实现代码
- 字符串四则运算表达式的计算(华为机试)
- 输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值
- 表达式(四则运算)计算的算法
- 一个逆波兰表达式实现的四则混合运算计算器
- 二叉树计算四则运算表达式
- 字符串四则运算表达式的计算(华为机试)
- 实现一个正整数加、减、乘、除四则混合运算求值方法
- 取得一个字符串表达式的计算结果(实现方法二)
- 计算表达式的值(仅含有四则运算和支持括号嵌套,浮点数运算)
- 计算带括号的四则运算表达式,这个实现方式你想过吗?
- 表达式(四则运算)计算的算法
- 实数四则运算表达式的计算,C++ 实现
- 用PHP实现的四则运算表达式计算
- 【原创】Delphi实现数学表达式的计算(逆波兰式法)-四则运算解析
- 用PHP实现的四则运算表达式计算
- 计算四则运算表达式
- 表达式(四则运算)计算的算法代写 essay代写