| 用as设计计算器,按照运算法则运算 |
| 责任编辑:admin 更新日期:2005-8-6 |
Math.pow(Number(value), 3).toString(); } else { value = Math.pow(parseInt(value, systems), 3).toString(systems).toUpperCase(); } isnew = true; CounterMessage("x^3"); } //x^2 function pow2() { duseless(); if (systems == 10) { value = Math.pow(Number(value), 2).toString(); } else { value = Math.pow(parseInt(value, systems), 2).toString(systems).toUpperCase(); } isnew = true; CounterMessage("x^2"); } //% function percent() { if (systems == 10) { duseless(); if (count[count.length-1] == "+" || count[count.length-1] == "-") { count.push((Number(value)/100).toString()); } else if (count.length == 0) { count.push((Number(value)/100).toString()); } else { count[count.length-1] += ((Number(value)/100).toString()); } value = calculate(); isnew = true; CounterMessage("%"); } } // 1/x function reciprocal() { duseless(); if (systems == 10) { value = (1/Number(value)).toString(); } else { value = (1/parseInt(value, systems)).toString(systems).toUpperCase(); } isnew = true; CounterMessage("1/x"); } //化成科学记数法 function FtoE() { if (systems == 10) { duseless(); if (value.indexOf("e") == -1) { value = ChangetoE(Number(value)); } else { value = ChangetoF(Number(value)); } CounterMessage("F-E"); } } // 阶乘 function factorial() { if (systems == 10) { var num:Number = 1; for (var i = 1; i<=Math.floor(Number(value)); i++) { num *= i; } value = num.toString(); CounterMessage("n!"); } } //三角函数 function sin() { if (systems == 10) { duseless(); if (units == 0) { value = dtr(Number(value)); } value = Math.sin(Number(value)).toString(); CounterMessage("sin"); } } function cos() { if (systems == 10) { duseless(); if (units == 0) { value = dtr(Number(value)); } value = Math.cos(Number(value)).toString(); CounterMessage("cos"); } } function tan() { if (systems == 10) { duseless(); if (units == 0) { value = dtr(Number(value)); } value = Math.tan(Number(value)).toString(); CounterMessage("tan"); } } //反三角函数 function asin() { if (systems == 10) { duseless(); value = Math.asin(Number(value)).toString(); if (units == 0) { value = rtd(Number(value)); } CounterMessage("asin"); } } function acos() { if (systems == 10) { duseless(); value = Math.acos(Number(value)).toString(); if (units == 0) { value = rtd(Number(value)); } CounterMessage("acos"); } } function atan() { if (systems == 10) { duseless(); value = Math.atan(Number(value)).toString(); if (units == 0) { value = rtd(Number(value)); } CounterMessage("atan"); } } //左括弧 function leftBracket() { duseless(); if ((st=count[count.length-1].substr(-1, 1)) == "*" || st == "/" || st == "^" || (st=count[count.length-1]) == "+" || st == "-") { inbracket.push({count:count}); value = "0"; count = []; CounterMessage("("); } } //右括弧 function rightBracket() { if (inbracket.length != 0) { duseless(); if (count[count.length-1] == "+" || count[count.length-1] == "-") { if (systems == 10) { count.push(value); } else { if (systems == 10) { count.push(value); } else { count.push(parseInt(value, systems).toString()); } } } else if (count.length == 0) { if (systems == 10) { if (systems == 10) { count.push(value); } else { count.push(parseInt(value, systems).toString()); } } else { count.push(value); } } else if (count[count.length-1].substr(-1, 1) == "*" || count[count.length-1].substr(-1, 1) == "/" || count[count.length-1].substr(-1, 1) == "^") { if (systems == 10) { count[count.length-1] += value; } else { count[count.length-1] += parseInt(value, systems).toString(); } } value = calculate(); isnew = true; count = inbracket[inbracket.length-1].count; inbracket.pop(); CounterMessage(")"); } } //取整 function int() { if (systems == 10) { duseless(); value = Math.floor(Number(value)).toString(); CounterMessage("int"); } } //显示小数部分 function aint() { if (systems == 10) { duseless(); value = (Number(value)-Math.floor(Number(value))).toString(); CounterMessage("aint"); } } //计算e的x次方 function exp() { duseless(); if (systems == 10) { value = Math.exp(Number(value)).toString(systems); } else { value = Math.exp(parseInt(value, systems)).toString(systems); } CounterMessage("exp"); } //计算10的x次方 function Exp() { duseless(); value = Math.pow(10, Number(parseInt2(value, systems, 10))).toString(systems); CounterMessage("Exp"); } //计算自然对数 function log() { duseless(); if (systems == 10) { value = Math.log(Number(value)).toString(systems); } else { value = Math.log(parseInt(value, systems)).toString(systems); } CounterMessage("log"); } //将数字化为度-分-秒 function dms() { if (systems == 10) { if ((st=value.indexOf(".")) != -1) { duseless(); var f:String = value.slice(0, st)+"."+(ss=(Number(value.substr(st+1))*60).toString()).substr(0, 2); if (ss.length>2) { value = f+(Number(ss.substr(2))*60).toString(); } else { value = f; } value = Rtrim(value, "0"); CounterMessage("dms"); } } } //将数字化为度 function adms() { if (systems == 10) { if ((st=value.indexOf(".")) != -1) { duseless(); var s:Number = 0; if (value.length>=st+4) { s = Number(value.substr(st+3))/60; while (s>10) { s /= 10; } } var f:Number = (Number(value.substr(st+1, 2))+s)/60; value = (Math.floor(Number(value))+f).toString(); //value=Rtrim(value,"0") CounterMessage("adms"); } } } // 清除存储区的所有数字 function MC() { remember = undefined; isnew = true; CounterMessage("MC"); } // 输出存储区的所有数字 function MR() { if (remember == undefined) { value = "0"; } else { value = remember.toString(systems); } isnew = true; CounterMessage("MR"); } // 将数字储存在存储区 function MS() { duseless(); if (value != "0") { if (systems == 10) { remember = Number(value); } else { remember = parseInt(value, systems); } isnew = true; CounterMessage("MS"); } } // 将存储区的数字与以有数字相加 function MP() { duseless(); if (value != "0") { if (systems == 10) { remember += Number(value); } else { remember += parseInt(value, systems); } isnew = true; CounterMessage("M+"); } } //进入,退出统计模式 function Sta() { if (data == undefined) { data = []; isnew = true; CounterMessage("Sta"); } else { data = undefined; datas = {Ave:undefined, Ave2:undefined, Sum:undefined, Sum2:undefined, S:undefined, S2:undefined}; isnew = true; CounterMessage("Sta"); } } //求平均值 //Ave=(x1+x2+x3+...+xn)/xn function Ave() { if (data != undefined) { if (data.length == 0) { datas.Ave = 0; value = "0"; } else if (datas.Ave != undefined) { value = datas.Ave.toString(systems); } else { //计算Ave if (datas.Sum != undefined) { var num:Number = datas.Sum; } else { var num:Number = 0; for (var i in data) { num += data[i]; } } datas.Ave = num/data.length; value = datas.Ave.toString(systems); } isnew = true; CounterMessage("Ave"); } } //求均方值 //Ave2=Ave*Ave+S*S function Ave2() { if (data != undefined) { if (data.length == 0) { datas.Ave2 = 0; value = "0"; } else if (datas.Ave2 != undefined) { value = datas.Ave2.toString(systems); } else { //计算Ave2 if (datas.Ave == undefined) { //计算Ave if (datas.Sum != undefined) { var num:Number = datas.Sum; } else { var num:Number = 0; for (var i in data) { num += data[i]; } } datas.Ave = num/data.length; } //计算S if (datas.S == undefined) { //计算Sum2 if (datas.Sum2 == undefined) { var num2:Number = 0; for (var j in data) { num2 += data[j]*data[j]; } } datas.S = Math.sqrt((datas.Sum2-data.length*datas.Ave*datas.Ave)/data.length); } datas.Ave2 = datas.Ave*datas.Ave+datas.S*datas.S; value = datas.Ave2.toString(systems); } isnew = true; CounterMessage("Ave2"); } } //求数据和 //Sum=x1+x2+x3+...+xn function Sum() { if (data != undefined) { if (data.length == 0) { datas.Sum = 0; value = "0"; } else if (datas.Sum != undefined) { value = datas.Sum.toString(systems); } else { //计算Sum if (datas.Ave != undefined) { datas.Sum = datas.Ave*data.length; value = datas.Sum.toString(systems); } else { var num:Number = 0; for (var i in data) { num += data[i]; } datas.Sum = num; value = datas.Sum.toString(systems); } } isnew = true; CounterMessage("Sum"); } } //求数据平方和 //Sum2=x1*x1+x2*x2+x3*x3+...+xn*xn function Sum2() { if (data != undefined) { if (data.length == 0) { datas.Sum2 = 0; value = "0"; } else if (datas.Sum2 != undefined) { value = datas.Sum2.toString(systems); } else { //计算Sum2 var num:Number = 0; for (var i in data) { num += data[i]*data[i]; } datas.Sum2 = num; value = datas.Sum2.toString(systems); } isnew = true; CounterMessage("Sum2"); } } //求总体参数为n的标准差 //S=Math.sqrt((Sum上一页 [1] [2] [3] [4] 下一页 |
|
| 上一篇文章: 使用fscommand如何正确调用exe文件 |
| 下一篇文章: getURL实现框架的更新 |
|
|
|
|