1、用Javascript编写的科学计算器.b1 BORDER-BOTTOM: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid; BACKGROUND-COLOR: #fbfbfb; WIDTH: 43px; FONT-FAMILY: 宋体; BACKGROUND-POSITION: center 50%; HEIGHT: 23px; COLOR: #313596; FONT-SIZE: 12px; BORDER-TOP: #b2b2b2 1px solid; BORDER-RIGHT: #b2b2b2 1px solid.b2 BORDER-B
2、OTTOM: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid; BACKGROUND-COLOR: #fbfbfb; WIDTH: 43px; BACKGROUND-POSITION: center 50%; HEIGHT: 23px; COLOR: #fe3498; FONT-SIZE: 12px; BORDER-TOP: #b2b2b2 1px solid; BORDER-RIGHT: #b2b2b2 1px solid.b3 BORDER-BOTTOM: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1
3、px solid; BACKGROUND-COLOR: #fbfbfb; WIDTH: 61px; BACKGROUND-POSITION: center 50%; HEIGHT: 23px; COLOR: #ff6501; FONT-SIZE: 12px; BORDER-TOP: #b2b2b2 1px solid; BORDER-RIGHT: #b2b2b2 1px solid.b4 BORDER-BOTTOM: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid; BACKGROUND-COLOR: #fbfbfb; WIDTH: 32px
4、; BACKGROUND-POSITION: center 50%; HEIGHT: 23px; COLOR: #888485; FONT-SIZE: 12px; BORDER-TOP: #b2b2b2 1px solid; BORDER-RIGHT: #b2b2b2 1px solid.border BORDER-BOTTOM: #b1bac3 1px solid; BORDER-LEFT: #b1bac3 1px solid; BORDER-TOP: #b1bac3 1px solid; BORDER-RIGHT: #b1bac3 1px solid.dh BORDER-BOTTOM: #
5、b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid; BACKGROUND-COLOR: #fbfbfb; WIDTH: 40px; BACKGROUND-POSITION: center 50%; HEIGHT: 23px; COLOR: #868485; FONT-SIZE: 12px; BORDER-TOP: #b2b2b2 1px solid; BORDER-RIGHT: #b2b2b2 1px solid.or BORDER-BOTTOM: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid
6、; BACKGROUND-COLOR: #fbfbfb; WIDTH: 40px; BACKGROUND-POSITION: center 50%; HEIGHT: 23px; COLOR: #fe6700; FONT-SIZE: 12px; BORDER-TOP: #b2b2b2 1px solid; BORDER-RIGHT: #b2b2b2 1px solid.xn BORDER-BOTTOM: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid; BACKGROUND-COLOR: #fbfbfb; WIDTH: 32px; BACKGR
7、OUND-POSITION: center 50%; HEIGHT: 23px; COLOR: #313398; FONT-SIZE: 12px; BORDER-TOP: #b2b2b2 1px solid; BORDER-RIGHT: #b2b2b2 1px solid.xo BORDER-BOTTOM: #b2b2b2 1px solid; BORDER-LEFT: #b2b2b2 1px solid; BACKGROUND-COLOR: #fbfbfb; WIDTH: 32px; BACKGROUND-POSITION: center 50%; HEIGHT: 23px; COLOR:
8、#ff6701; FONT-SIZE: 12px; BORDER-TOP: #b2b2b2 1px solid; BORDER-RIGHT: #b2b2b2 1px solid=48 & index=48 & index=48 & index=97 & index=102) if(endNumber) endNumber=false document.calc.display.value = key else if(document.calc.display.value = null | document.calc.display.value = 0) document.calc.displa
9、y.value = key else document.calc.display.value += keyfunction changeSign() if (document.calc.display.value!=0) if(document.calc.display.value.substr(0,1) = -) document.calc.display.value = document.calc.display.value.substr(1) else document.calc.display.value = - + document.calc.display.value/函数键fun
10、ction inputfunction(fun,shiftfun) endNumber=true if (document.calc.shiftf.checked) document.calc.display.value=decto(funcalc(shiftfun,(todec(document.calc.display.value,carry),carry) else document.calc.display.value=decto(funcalc(fun,(todec(document.calc.display.value,carry),carry) document.calc.shi
11、ftf.checked=false document.calc.hypf.checked=false inputshift()function inputtrig(trig,arctrig,hyp,archyp) if (document.calc.hypf.checked) inputfunction(hyp,archyp) else inputfunction(trig,arctrig)/运算符function operation(join,newlevel) endNumber=true var temp=stack.substr(stack.lastIndexOf()+1)+docum
12、ent.calc.display.value while (newlevel!=0 & (newlevel0) temp=parse(temp) level=level.slice(0,-1) document.calc.display.value=temp stack=stack.substr(0,stack.lastIndexOf() document.calc.operator.value= level=level.slice(0,-1) layer-=1 if (layer0) document.calc.bracket.value=(=+layer else document.cal
13、c.bracket.value=/等号function result() endNumber=true while (layer0) disbracket() var temp=stack+document.calc.display.value while (level.charAt(level.length-1)0) temp=parse(temp) level=level.slice(0,-1) document.calc.display.value=temp document.calc.bracket.value= document.calc.operator.value= stack=
14、 level=0/修改键function backspace() if (!endNumber) if(document.calc.display.value.length1) document.calc.display.value=document.calc.display.value.substring(0,document.calc.display.value.length - 1) else document.calc.display.value=0 function clearall() document.calc.display.value=0 endNumber=true sta
15、ck= level=0 layer= document.calc.operator.value= document.calc.bracket.value=/转换键function inputChangCarry(newcarry) endNumber=true document.calc.display.value=(decto(todec(document.calc.display.value,carry),newcarry) carry=newcarry document.calc.sin.disabled=(carry!=10) document.calc.cos.disabled=(c
16、arry!=10) document.calc.tan.disabled=(carry!=10) document.calc.bt.disabled=(carry!=10) document.calc.pi.disabled=(carry!=10) document.calc.e.disabled=(carry!=10) document.calc.kp.disabled=(carry!=10) document.calc.k2.disabled=(carry=2) document.calc.k3.disabled=(carry=2) document.calc.k4.disabled=(c
17、arry=2) document.calc.k5.disabled=(carry=2) document.calc.k6.disabled=(carry=2) document.calc.k7.disabled=(carry=2) document.calc.k8.disabled=(carry=8) document.calc.k9.disabled=(carry=8) document.calc.ka.disabled=(carry=10) document.calc.kb.disabled=(carry=10) document.calc.kc.disabled=(carry=10) d
18、ocument.calc.kd.disabled=(carry=10) document.calc.ke.disabled=(carry=10) document.calc.kf.disabled=(carry=10) function inputChangAngle(angletype) endNumber=true angle=angletype if (angle=d) document.calc.display.value=radiansToDegress(document.calc.display.value) else document.calc.display.value=deg
19、ressToRadians(document.calc.display.value) endNumber=truefunction inputshift() if (document.calc.shiftf.checked) document.calc.bt.value=deg document.calc.ln.value=exp document.calc.log.value=expd if (document.calc.hypf.checked) document.calc.sin.value=ahs document.calc.cos.value=ahc document.calc.ta
20、n.value=aht else document.calc.sin.value=asin document.calc.cos.value=acos document.calc.tan.value=atan document.calc.sqr.value=x.5 document.calc.cube.value=x.3 document.calc.floor.value=小数 else document.calc.bt.value=d.ms document.calc.ln.value= ln document.calc.log.value=log if (document.calc.hypf
21、.checked) document.calc.sin.value=hsin document.calc.cos.value=hcos document.calc.tan.value=htan else document.calc.sin.value=sin document.calc.cos.value=cos document.calc.tan.value=tan document.calc.sqr.value=x2 document.calc.cube.value=x3 document.calc.floor.value=取整 /存储器部分function clearmemory() m
22、em=0 document.calc.memory.value= function getmemory() endNumber=true document.calc.display.value=decto(mem,carry)function putmemory() endNumber=true if (document.calc.display.value!=0) mem=todec(document.calc.display.value,carry) document.calc.memory.value= M else document.calc.memory.value= functio
23、n addmemory() endNumber=true mem=parseFloat(mem)+parseFloat(todec(document.calc.display.value,carry) if (mem=0) document.calc.memory.value= else document.calc.memory.value= M function multimemory() endNumber=true mem=parseFloat(mem)*parseFloat(todec(document.calc.display.value,carry) if (mem=0) docu
24、ment.calc.memory.value= else document.calc.memory.value= M /十进制转换function todec(num,oldcarry) if (oldcarry=10 | num=0) return(num) var neg=(num.charAt(0)=-) if (neg) num=num.substr(1) var newnum=0 for (var index=1;index=num.length;index+) newnum=newnum*oldcarry+hexnum.indexOf(num.charAt(index-1) if
25、(neg) newnum=-newnum return(newnum)function decto(num,newcarry) var neg=(num0) if (newcarry=10 | num=0) return(num) num=+Math.abs(num) var newnum= while (num!=0) newnum=hexnum.charAt(num%newcarry)+newnum num=Math.floor(num/newcarry) if (neg) newnum=-+newnum return(newnum)/表达式解析function parse(string) if (string.match(/(.*d+-*/%&|x)?(+-?0-9a-f.+)(+-*/%&|x)(+-?0-9a-f.+)$/) return(RegExp.$1+cypher(RegExp.$2,RegExp.$3,RegExp.$4) else return(string)/数学运算和位运算function cypher(left,join,righ
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1