加减乘除四则运算(JAVASCRIPT版)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
加减乘除四则运算(javascript)
1、调用方法: var str = "1+3+4-5-6*7/8+9-10/11"; //具体的计算公式 calcArith(str); //调用函数 2、函数实现: //主调用函数 function calcArith(strV) { if (("+-*/").indexOf(strV.substring(0,1)) >= 0) { strV = strV.substring(1,strV.length); } //限制公式中只能出现“数字、+、-、*、/” ,其它的(包含空格字符),视为 非法字符直接退出。 var regExp = new RegExp("[^(0-9,\+,\\-,\*,\/,\s)]"); if (regExp.test(strV)) { alert("表达式中含有非数字及运算字符!"); return 0.0; } //计算加法 return exA(strV); } function exA(strV) { var dJe = 0.0; if (strV == "") { return dJe; }
else { dJe = exC(strV); } return dJe; } //计算除法 function exC(strV) { var dJe = 1.0; if (strV == "") { return dJe; } if (strV.indexOf("/") > 0) { var arryTemp = strV.split("/"); dJe = exX(arryTemp[0]); for (var i=1;i < arryTemp.length;i++) { dJe /= parseFloat(arryTemp[i]); } } else { dJe = parseFloat(strV); } return dJe; } PS: 项目中要用到这个四则运算,找找没找到,自己写了一个。不足之处,欢迎 指出。 目前只考虑不带括号的四则运算,如果带有括号,就不对了,我在前面的有 效性检查中加了限制。
来自百度文库
if (strV.indexOf("+") > 0) { var arryTemp = strV.split("+"); dJe = exP(arryTemp[0]); for (var i=1;i < arryTemp.length;i++) { dJe += exP(arryTemp[i]);
} } else { dJe = exP(strV); } return dJe; } //计算减法 function exP(strV) { var dJe = 0.0; if (strV == "") { return dJe; } if (strV.indexOf("-") > 0) { var arryTemp = strV.split("-"); dJe = exX(arryTemp[0]); for (var i=1;i < arryTemp.length;i++) { dJe -= exX(arryTemp[i]); } } else { dJe = exX(strV); } return dJe; } //计算乘法 function exX(strV) { var dJe = 0.0; if (strV == "") { return dJe; } if (strV.indexOf("*") > 0) { var arryTemp = strV.split("*"); dJe = exX(arryTemp[0]); for (var i=1;i < arryTemp.length;i++) { dJe *= exC(arryTemp[i]); } }
相关文档
最新文档