包含javaatctan的词条

博主:adminadmin 2023-01-02 01:15:09 644

今天给各位分享javaatctan的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java计算器代码,请帮我修改

html

head

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

title科学计算器/title

style

!--

BODY {font-size: 12px;background-color: #d4d4d4;color: #0001fC;background-attachment: fixed;}

td{font-size:12px; font-color:#000000}

//--

/style

script language="javascript"

!--

var endNumber=true

var mem=0

var carry=10

var hexnum="0123456789abcdef"

var angle="d"

var stack=""

var level="0"

var layer=0

//数字键

function inputkey(key)

{

var index=key.charCodeAt(0);

if ((carry==2 (index==48 || index==49))

|| (carry==8 index=48 index=55)

|| (carry==10 (index=48 index=57 || index==46))

|| (carry==16 ((index=48 index=57) || (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.display.value = key

else

document.calc.display.value += key

}

function 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

}

//函数键

function 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.shiftf.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)+document.calc.display.value

while (newlevel!=0 (newlevel=(level.charAt(level.length-1))))

{

temp=parse(temp)

level=level.slice(0,-1)

}

if (temp.match(/^(.*\d[\+\-\*\/\%\^\\|x])?([+-]?[0-9a-f\.]+)$/))

document.calc.display.value=RegExp.$2

stack=stack.substr(0,stack.lastIndexOf("(")+1)+temp+join

document.calc.operator.value=" "+join+" "

level=level+newlevel

}

//括号

function addbracket()

{

endNumber=true

document.calc.display.value=0

stack=stack+"("

document.calc.operator.value=" "

level=level+0

layer+=1

document.calc.bracket.value="(="+layer

}

function disbracket()

{

endNumber=true

var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value

while ((level.charAt(level.length-1))0)

{

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.calc.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=""

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

stack=""

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=(carry!=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=(carry=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)

document.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=degressToRadians(document.calc.display.value)

endNumber=true

}

function 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.tan.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.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="x^2 "

document.calc.cube.value="x^3 "

document.calc.floor.value="取整"

}

}

//存储器部分

function clearmemory()

{

mem=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=" "

}

function 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)

document.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 (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,right)

{

left=todec(left,carry)

right=todec(right,carry)

if (join=="+")

return(decto(parseFloat(left)+parseFloat(right),carry))

if (join=="-")

return(decto(left-right,carry))

if (join=="*")

return(decto(left*right,carry))

if (join=="/" right!=0)

return(decto(left/right,carry))

if (join=="%")

return(decto(left%right,carry))

if (join=="")

return(decto(leftright,carry))

if (join=="|")

return(decto(left|right,carry))

if (join=="^")

return(decto(Math.pow(left,right),carry))

if (join=="x")

return(decto(left^right,carry))

if (join=="")

return(decto(leftright,carry))

alert("除数不能为零")

return(left)

}

//函数计算

function funcalc(fun,num)

{

with(Math)

{

if (fun=="pi")

return(PI)

if (fun=="e")

return(E)

if (fun=="abs")

return(abs(num))

if (fun=="ceil")

return(ceil(num))

if (fun=="round")

return(round(num))

if (fun=="floor")

return(floor(num))

if (fun=="deci")

return(num-floor(num))

if (fun=="ln" num0)

return(log(num))

if (fun=="exp")

return(exp(num))

if (fun=="log" num0)

return(log(num)*LOG10E)

if (fun=="expdec")

return(pow(10,num))

if (fun=="cube")

return(num*num*num)

if (fun=="cubt")

return(pow(num,1/3))

if (fun=="sqr")

return(num*num)

if (fun=="sqrt" num=0)

return(sqrt(num))

if (fun=="!")

return(factorial(num))

if (fun=="recip" num!=0)

return(1/num)

if (fun=="dms")

return(dms(num))

if (fun=="deg")

return(deg(num))

if (fun=="~")

return(~num)

if (angle=="d")

{

if (fun=="sin")

return(sin(degressToRadians(num)))

if (fun=="cos")

return(cos(degressToRadians(num)))

if (fun=="tan")

return(tan(degressToRadians(num)))

if (fun=="arcsin" abs(num)=1)

return(radiansToDegress(asin(num)))

if (fun=="arccos" abs(num)=1)

return(radiansToDegress(acos(num)))

if (fun=="arctan")

return(radiansToDegress(atan(num)))

}

else

{

if (fun=="sin")

return(sin(num))

if (fun=="cos")

return(cos(num))

if (fun=="tan")

return(tan(num))

if (fun=="arcsin" abs(num)=1)

return(asin(num))

if (fun=="arccos" abs(num)=1)

return(acos(num))

if (fun=="arctan")

return(atan(num))

}

if (fun=="hypsin")

return((exp(num)-exp(0-num))*0.5)

if (fun=="hypcos")

return((exp(num)+exp(-num))*0.5)

if (fun=="hyptan")

return((exp(num)-exp(-num))/(exp(num)+exp(-num)))

if (fun=="ahypsin" | fun=="hypcos" | fun=="hyptan")

{

alert("对不起,公式还没有查到!")

return(num)

}

alert("超出函数定义范围")

return(num)

}

}

function factorial(n)

{

n=Math.abs(parseInt(n))

var fac=1

for (;n0;n-=1)

fac*=n

return(fac)

}

function dms(n)

{

var neg=(n0)

with(Math)

{

n=abs(n)

var d=floor(n)

var m=floor(60*(n-d))

var s=(n-d)*60-m

}

var dms=d+m/100+s*0.006

if (neg)

dms=-dms

return(dms)

}

function deg(n)

{

var neg=(n0)

with(Math)

{

n=abs(n)

var d=floor(n)

var m=floor((n-d)*100)

var s=(n-d)*100-m

}

var deg=d+m/60+s/36

if (neg)

deg=-deg

return(deg)

}

function degressToRadians(degress)

{

return(degress*Math.PI/180)

}

function radiansToDegress(radians)

{

return(radians*180/Math.PI)

}

//界面

//--

/script

/head

!--written by GoldHuman li hai--

!--2000.8--

body

div align="center"

form name=calc

table border="1" width="500" height="250"

tr

td height=50

table width=500

td width="133"

/td

td width="353"

div align=center

input type=text name="display" value="0" readonly size="40"

/div

/td

/table

/td

/tr

tr

td

table width=500

tr

td width=290

input type=radio name="carry" onClick="inputChangCarry(16)"

十六进制

input type=radio name="carry" checked onClick="inputChangCarry(10)"

十进制

input type=radio name="carry" onClick="inputChangCarry(8)"

八进制

input type=radio name="carry" onClick="inputChangCarry(2)"

二进制

/td

td

/td

td width=135

input type=radio name="angle" value="d" onClick="inputChangAngle('d')" checked

角度制

input type=radio name="angle" value="r" onClick="inputChangAngle('r')"

弧度制

/td

/tr

/table

table width=500

tr

td width=170

input name="shiftf" type="checkbox" onclick="inputshift()"上档功能

input name="hypf" type="checkbox" onclick="inputshift()"双曲函数

/td

td

input name="bracket" value="" type=text size=3 readonly style="background-color=lightgrey"

input name="memory" value="" type=text size=3 readonly style="background-color=lightgrey"

input name="operator" value="" type=text size=3 readonly style="background-color=lightgrey"

/td

td width=183

input type="button" value=" 退格 "

onclick="backspace()" style="color=red"

input type="button" value=" 清屏 "

onClick="document.calc.display.value = 0 " style="color=red"

input type="button" value=" 全清"

onClick="clearall()" style="color=red"

/td

/tr

/table

table width=500

tr

td

table

tr align=center

td

input name=pi type="button" value=" PI "

onClick="inputfunction('pi','pi')" style="color=blue"

/td

td

input name=e type="button" value=" E "

onClick="inputfunction('e','e')" style="color=blue"

/td

td

input name=bt type="button" value="d.ms"

onClick="inputfunction('dms','deg')" style="color=#ff00ff"

/td

/tr

tr align=center

td

input type="button" value=" ( "

onClick="addbracket()" style="color=#ff00ff"

/td

td

input type="button" value=" ) "

onClick="disbracket()" style="color=#ff00ff"

/td

td

input name=ln type="button" value=" ln "

onClick="inputfunction('ln','exp')" style="color=#ff00ff"

/td

/tr

tr align=center

td

input name=sin type="button" value="sin "

onClick="inputtrig('sin','arcsin','hypsin','ahypsin')" style="color=#ff00ff"

/td

td

input type="button" value="x^y "

onClick="operation('^',7)" style="color=#ff00ff"

/td

td

input name=log type="button" value="log "

onClick="inputfunction('log','expdec')" style="color=#ff00ff"

/td

/tr

tr align=center

td

input name=cos type="button" value="cos "

onClick="inputtrig('cos','arccos','hypcos','ahypcos')" style="color=#ff00ff"

/td

td

input name=cube type="button" value="x^3 "

onClick="inputfunction('cube','cubt')" style="color=#ff00ff"

/td

td

input type="button" value=" n! "

onClick="inputfunction('!','!')" style="color=#ff00ff"

/td

/tr

tr align=center

td

input name=tan type="button" value="tan "

onClick="inputtrig('tan','arctan','hyptan','ahyptan')" style="color=#ff00ff"

/td

td

input name=sqr type="button" value="x^2 "

onClick="inputfunction('sqr','sqrt')" style="color=#ff00ff"

/td

td

input type="button" value="1/x "

onClick="inputfunction('recip','recip')" style="color=#ff00ff"

/td

/tr

/table

/td

td width=30

/td

td

table

tr

td

input type="button" value=" 储存 "

onClick="putmemory()" style="color=red"

/td

/tr

td

input type="button" value=" 取存 "

onClick="getmemory()" style="color=red"

/td

/tr

tr

td

input type="button" value=" 累存 "

onClick="addmemory()" style="color=red"

/td

/tr

tr

td

input type="button" value=" 积存 "

onClick="multimemory()" style="color=red"

/td

/tr

tr

td height="33"

input type="button" value=" 清存 "

onClick="clearmemory()" style="color=red"

/td

/tr

/table

/td

td width=30

/td

td

table

tr align=center

td

input name=k7 type="button" value=" 7 "

onClick="inputkey('7')" style="color=blue"

/td

td

input name=k8 type="button" value=" 8 "

onClick="inputkey('8')" style="color=blue"

/td

td

input name=k9 type="button" value=" 9 "

onClick="inputkey('9')" style="color=blue"

/td

td

input type="button" value=" / "

onClick="operation('/',6)" style="color=red"

/td

td

input type="button" value="取余"

onClick="operation('%',6)" style="color=red"

/td

td

input type="button" value=" 与 "

onClick="operation('',3)" style="color=red"

/td

/tr

tr align=center

td

input name=k4 type="button" value=" 4 "

onClick="inputkey('4')" style="color=blue"

/td

td

input name=k5 type="button" value=" 5 "

onClick="inputkey('5')" style="color=blue"

/td

td

input name=k6 type="button" value=" 6 "

onClick="inputkey('6')" style="color=blue"

/td

td

input type="button" value=" * "

onClick="operation('*',6)" style="color=red"

/td

td

input name=floor type="button" value="取整"

onClick="inputfunction('floor','deci')" style="color=red"

/td

td

input type="button" value=" 或 "

onClick="operation('|',1)" style="color=red"

/td

/tr

tr align=center

td

input type="button" value=" 1 "

onClick="inputkey('1')" style="color=blue"

/td

td

input name=k2 type="button" value=" 2 "

onClick="inputkey('2')" style="color=blue"

/td

td

input name=k3 type="button" value=" 3 "

onClick="inputkey('3')" style="color=blue"

/td

td

input type="button" value=" - "

onClick="operation('-',5)" style="color=red"

/td

td

input type="button" value="左移"

onClick="operation('',4)" style="color=red"

/td

td

input type="button" value=" 非 "

onClick="inputfunction('~','~')" style="color=red"

/td

/tr

tr align=center

td

input type="button" value=" 0 "

onClick="inputkey('0')" style="color=blue"

/td

td

input type="button" value="+/-"

onClick="changeSign()" style="color=blue"

/td

td

input name=kp type="button" value=" . "

onClick="inputkey('.')" style="color=blue"

/td

td

input type="button" value=" + "

onClick="operation('+',5)" style="color=red"

/td

td

input type="button" value=" = "

onClick="result()" style="color=red"

/td

td

input type="button" value="异或"

onClick="operation('x',2)" style="color=red"

/td

/tr

tr align=center

td

input name=ka type="button" value=" A "

onClick="inputkey('a')" style="color=blue" disabled=true

/td

td

input name=kb type="button" value=" B "

onClick="inputkey('b')" style="color=blue" disabled=true

/td

td

input name=kc type="button" value=" C "

onClick="inputkey('c')" style="color=blue" disabled=true

/td

td

input name=kd type="button" value=" D "

onClick="inputkey('d')" style="color=blue" disabled=true

/td

td

input name=ke type="button" value=" E "

onClick="inputkey('e')" style="color=blue" disabled=true

/td

td

input name=kf type="button" value=" F "

onClick="inputkey('f')" style="color=blue" disabled=true

/td

/tr

/table

/td

/tr

/table

/td

/tr

/table

/form

/div

/body

/html

已知圆心坐标,求圆上任意两点的角度 用java算出来

平面直角坐标系中,圆心坐标为(x0,y0)则圆上两点A(x1,y1)到B(x2,y2)的角度为:θ=arctan[(y2-y0)/(x2-x0)]-arctan[(y1-y0)/(x1-x0)];--------------特殊情况:平面直角坐标系中,圆心坐标为坐标原点(0,0)则圆上两点A(x1,y1)到B(x2,y2)的角度为:θ=arctan(y2/x2)-arctan(y1/x1);--------------在平面极坐标系中,若圆心为极点。则圆上两点A(r,θ1)到B(r,θ2)的角度为θ=θ2-θ1.

java问题

你的代码太乱了~~

给你改了改,差不多了,你把while(fab(t)=p); 里的fab()方法搞定估计就没问题了

public class arctan {

public static void main(String args[])

{

double z=0d,m=0d;

double y=16*arctan(1/5);

z=4*arctan(1/239);

m=y-z;

System.out.println(m);

}

static double arctan(double x)

{

double g=0,t=x,p=0.000001;

int n=0;

do

{

g=g+t;

n++;

t=-t*x*x/(2*n+1);

}while(fab(t)=p);

return g;

}

}

java中有反正弦,反余弦,反正切,反余切的方法吗

有这个工具包的,在java.math.Math类常中。

Math.PI 记录的圆周率

Math.sin 正弦函数

Math.asin 反正弦函数

Math.cos 余弦函数

Math.acos 反余弦函数

Math.tan 正切函数

Math.atan 反正切函数

Math.atan2 商的反正切函数

Math.toDegrees 弧度转化为角度

Math.toRadians 角度转化为弧度

java arctan

java arctan是什么,让我们一起了解一下?

arctan是java中数学运算的三角函数方法,tan() 三角正切,通过编程Java代码实现,常用的还有cos() 三角余弦,sin()为 三角正弦,asin() 正弦的反函数,cos() 余弦的反函数,tan() 正切的反函数。

他的源代码如下:

public class MainTest {     public static void main(String[] args) {         //求sin值         double sin = Math.sin(3.14);         System.out.println("sin3.14=" + sin);         //求cos值         double cos = Math.cos(0);         System.out.println("cos0=" + cos);         //求tan值         double tan = Math.tan(0.785);         System.out.println("tan0.785=" + tan);         //求arcsin         double arcsin = Math.asin(1);         System.out.println("arcsin1 = " + arcsin);         //求arccos         double arccos = Math.acos(1);         System.out.println("arccos = " + arccos);         //求arctan         double arctan = Math.atan(30);         System.out.println("arctan30 = " + arctan);         //求弧度         double radians = Math.toRadians(180);         System.out.println("180度角的弧度为" + radians);         //求角度         double angle = Math.toDegrees(3.141592653589793);         System.out.println("π的角度数为" + angle);         //求以e为底的指数         double exp = Math.exp(1);         System.out.println("以e为底指数为1的数为" + exp);         //求以e为底e的平方的对数         double log = Math.log(Math.E * Math.E);         System.out.println("以e为底e的平方的对数" + log);         //求以10为底100的对数         double log10 = Math.log10(100);         System.out.println("以10为底100的对数" + log10);         //求100的平方根         double sqrt = Math.sqrt(100);         System.out.println("100的平方根是" + sqrt);         //求27的立方根         double cbrt = Math.cbrt(27);         System.out.println("27的立方根是" + cbrt);         //求10除以3的余数         double rest = Math.IEEEremainder(10, 3);         System.out.println("10除以3的余数为" + rest);         //求0.9向上取整         double ceil = Math.ceil(0.9);         System.out.println("0.9向上取整" + ceil);         //求2.49向下取整         double floor = Math.floor(2.49);         System.out.println("2.49向下取整" + floor);         //求最接近参数的整数值(若有两个满足条件的数据则取为偶数的数据)         double rint = Math.rint(3.5);         System.out.println("最接近参数的整数值" + rint);         //获得(1,1)坐标与x轴夹角度数         double atan2 = Math.atan2(1, 1);         System.out.println("坐标(1,1)的极坐标为" + atan2);         //求3的5次方         double pow = Math.pow(3, 5);         System.out.println("3的5次方" + pow);         //4舍5入         double round = Math.round(3.5);         System.out.println("3.5四舍五入为" + round);         //计算2

请问谁能用java语言,为我写一个计算器的小程序

!--开始 --

STYLEBODY {

BACKGROUND-ATTACHMENT: fixed; BACKGROUND-COLOR: #edf0e1; COLOR: #0001fc; FONT-FAMILY: "宋体", "Arial", "Times New Roman"; FONT-SIZE: 9pt

}

TD {

FONT-FAMILY: "宋体", "Arial Narrow", "Times New Roman"; FONT-SIZE: 9pt; font-color: #000000

}

/STYLE

SCRIPT language=javascript

!--

var endNumber=true

var mem=0

var carry=10

var hexnum="0123456789abcdef"

var angle="d"

var stack=""

var level="0"

var layer=0

//数字键

function inputkey(key)

{

var index=key.charCodeAt(0);

if ((carry==2 (index==48 || index==49))

|| (carry==8 index=48 index=55)

|| (carry==10 (index=48 index=57 || index==46))

|| (carry==16 ((index=48 index=57) || (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.display.value = key

else

document.calc.display.value += key

}

function 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

}

//函数键

function 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.shiftf.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)+document.calc.display.value

while (newlevel!=0 (newlevel=(level.charAt(level.length-1))))

{

temp=parse(temp)

level=level.slice(0,-1)

}

if (temp.match(/^(.*\d[\+\-\*\/\%\^\\|x])?([+-]?[0-9a-f\.]+)$/))

document.calc.display.value=RegExp.$2

stack=stack.substr(0,stack.lastIndexOf("(")+1)+temp+join

document.calc.operator.value=" "+join+" "

level=level+newlevel

}

//括号

function addbracket()

{

endNumber=true

document.calc.display.value=0

stack=stack+"("

document.calc.operator.value=" "

level=level+0

layer+=1

document.calc.bracket.value="(="+layer

}

function disbracket()

{

endNumber=true

var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value

while ((level.charAt(level.length-1))0)

{

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.calc.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=""

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

stack=""

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=(carry!=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=(carry=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)

document.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=degressToRadians(document.calc.display.value)

endNumber=true

}

function 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.tan.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.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="x^2 "

document.calc.cube.value="x^3 "

document.calc.floor.value="取整"

}

}

//存储器部分

function clearmemory()

{

mem=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=" "

}

function 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)

document.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 (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,right)

{

left=todec(left,carry)

right=todec(right,carry)

if (join=="+")

return(decto(parseFloat(left)+parseFloat(right),carry))

if (join=="-")

return(decto(left-right,carry))

if (join=="*")

return(decto(left*right,carry))

if (join=="/" right!=0)

return(decto(left/right,carry))

if (join=="%")

return(decto(left%right,carry))

if (join=="")

return(decto(leftright,carry))

if (join=="|")

return(decto(left|right,carry))

if (join=="^")

return(decto(Math.pow(left,right),carry))

if (join=="x")

return(decto(left^right,carry))

if (join=="")

return(decto(leftright,carry))

alert("除数不能为零")

return(left)

}

//函数计算

function funcalc(fun,num)

{

with(Math)

{

if (fun=="pi")

return(PI)

if (fun=="e")

return(E)

if (fun=="abs")

return(abs(num))

if (fun=="ceil")

return(ceil(num))

if (fun=="round")

return(round(num))

if (fun=="floor")

return(floor(num))

if (fun=="deci")

return(num-floor(num))

if (fun=="ln" num0)

return(log(num))

if (fun=="exp")

return(exp(num))

if (fun=="log" num0)

return(log(num)*LOG10E)

if (fun=="expdec")

return(pow(10,num))

if (fun=="cube")

return(num*num*num)

if (fun=="cubt")

return(pow(num,1/3))

if (fun=="sqr")

return(num*num)

if (fun=="sqrt" num=0)

return(sqrt(num))

if (fun=="!")

return(factorial(num))

if (fun=="recip" num!=0)

return(1/num)

if (fun=="dms")

return(dms(num))

if (fun=="deg")

return(deg(num))

if (fun=="~")

return(~num)

if (angle=="d")

{

if (fun=="sin")

return(sin(degressToRadians(num)))

if (fun=="cos")

return(cos(degressToRadians(num)))

if (fun=="tan")

return(tan(degressToRadians(num)))

if (fun=="arcsin" abs(num)=1)

return(radiansToDegress(asin(num)))

if (fun=="arccos" abs(num)=1)

return(radiansToDegress(acos(num)))

if (fun=="arctan")

return(radiansToDegress(atan(num)))

}

else

{

if (fun=="sin")

return(sin(num))

if (fun=="cos")

return(cos(num))

if (fun=="tan")

return(tan(num))

if (fun=="arcsin" abs(num)=1)

return(asin(num))

if (fun=="arccos" abs(num)=1)

return(acos(num))

if (fun=="arctan")

return(atan(num))

}

if (fun=="hypsin")

return((exp(num)-exp(0-num))*0.5)

if (fun=="hypcos")

return((exp(num)+exp(-num))*0.5)

if (fun=="hyptan")

return((exp(num)-exp(-num))/(exp(num)+exp(-num)))

if (fun=="ahypsin" | fun=="hypcos" | fun=="hyptan")

{

alert("对不起,公式还没有查到!")

return(num)

}

alert("超出函数定义范围")

return(num)

}

}

function factorial(n)

{

n=Math.abs(parseInt(n))

var fac=1

for (;n0;n-=1)

fac*=n

return(fac)

}

function dms(n)

{

var neg=(n0)

with(Math)

{

n=abs(n)

var d=floor(n)

var m=floor(60*(n-d))

var s=(n-d)*60-m

}

var dms=d+m/100+s*0.006

if (neg)

dms=-dms

return(dms)

}

function deg(n)

{

var neg=(n0)

with(Math)

{

n=abs(n)

var d=floor(n)

var m=floor((n-d)*100)

var s=(n-d)*100-m

}

var deg=d+m/60+s/36

if (neg)

deg=-deg

return(deg)

}

function degressToRadians(degress)

{

return(degress*Math.PI/180)

}

function radiansToDegress(radians)

{

return(radians*180/Math.PI)

}

//界面

//--

/SCRIPT

!--written by GoldHuman li hai--!--2000.8--

META content="Microsoft FrontPage 4.0" name=GENERATOR/HEAD

BODY

DIV align=center

FORM name=calc

TABLE height=250 width=500 border=1

TBODY

TR

TD height=50

TABLE width=500

TBODY

TR

TD/TD

TD

DIV align=centerINPUT readOnly size=40 value=0 name=display /DIV/TD/TR/TBODY/TABLE/TD/TR

TR

TD

TABLE width=500

TBODY

TR

TD width=290INPUT onclick=inputChangCarry(16) type=radio name=carry 十六进制 INPUT onclick=inputChangCarry(10) type=radio CHECKED name=carry 十进制 INPUT onclick=inputChangCarry(8) type=radio name=carry 八进制 INPUT onclick=inputChangCarry(2) type=radio name=carry 二进制 /TD

TD/TD

TD width=135INPUT onclick="inputChangAngle('d')" type=radio CHECKED value=d name=angle 角度制 INPUT onclick="inputChangAngle('r')" type=radio value=r name=angle 弧度制 /TD/TR/TBODY/TABLE

TABLE width=500

TBODY

TR

TD width=170INPUT onclick=inputshift() type=checkbox name=shiftf上档功能 INPUT onclick=inputshift() type=checkbox name=hypf双曲函数 /TD

TDINPUT style="BACKGROUND-COLOR: lightgrey" readOnly size=3 name=bracket INPUT style="BACKGROUND-COLOR: lightgrey" readOnly size=3 name=memory INPUT style="BACKGROUND-COLOR: lightgrey" readOnly size=3 name=operator /TD

TD width=183INPUT style="COLOR: red" onclick=backspace() type=button value=" 退格 " INPUT style="COLOR: red" onclick="document.calc.display.value = 0 " type=button value=" 清屏 " INPUT style="COLOR: red" onclick=clearall() type=button value=" 全清" /TD/TR/TBODY/TABLE

TABLE width=500

TBODY

TR

TD

TABLE

TBODY

TR align=middle

TDINPUT style="COLOR: blue" onclick="inputfunction('pi','pi')" type=button value=" PI " name=pi /TD

TDINPUT style="COLOR: blue" onclick="inputfunction('e','e')" type=button value=" E " name=e /TD

TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('dms','deg')" type=button value=d.ms name=bt /TD/TR

TR align=middle

TDINPUT style="COLOR: #ff00ff" onclick=addbracket() type=button value=" ( " /TD

TDINPUT style="COLOR: #ff00ff" onclick=disbracket() type=button value=" ) " /TD

TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('ln','exp')" type=button value=" ln " name=ln /TD/TR

TR align=middle

TDINPUT style="COLOR: #ff00ff" onclick="inputtrig('sin','arcsin','hypsin','ahypsin')" type=button value="sin " name=sin /TD

TDINPUT style="COLOR: #ff00ff" onclick="operation('^',7)" type=button value="x^y " /TD

TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('log','expdec')" type=button value="log " name=log /TD/TR

TR align=middle

TDINPUT style="COLOR: #ff00ff" onclick="inputtrig('cos','arccos','hypcos','ahypcos')" type=button value="cos " name=cos /TD

TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('cube','cubt')" type=button value="x^3 " name=cube /TD

TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('!','!')" type=button value=" n! " /TD/TR

TR align=middle

TDINPUT style="COLOR: #ff00ff" onclick="inputtrig('tan','arctan','hyptan','ahyptan')" type=button value="tan " name=tan /TD

TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('sqr','sqrt')" type=button value="x^2 " name=sqr /TD

TDINPUT style="COLOR: #ff00ff" onclick="inputfunction('recip','recip')" type=button value="1/x " /TD/TR/TBODY/TABLE/TD

TD width=30/TD

TD

TABLE

TBODY

TR

TDINPUT style="COLOR: red" onclick=putmemory() type=button value=" 储存 " /TD/TR

TR

TDINPUT style="COLOR: red" onclick=getmemory() type=button value=" 取存 " /TD/TR

TR

TDINPUT style="COLOR: red" onclick=addmemory() type=button value=" 累存 " /TD/TR

TR

TDINPUT style="COLOR: red" onclick=multimemory() type=button value=" 积存 " /TD/TR

TR

TD height=33INPUT style="COLOR: red" onclick=clearmemory() type=button value=" 清存 " /TD/TR/TBODY/TABLE/TD

TD width=30/TD

TD

TABLE

TBODY

TR align=middle

TDINPUT style="COLOR: blue" onclick="inputkey('7')" type=button value=" 7 " name=k7 /TD

TDINPUT style="COLOR: blue" onclick="inputkey('8')" type=button value=" 8 " name=k8 /TD

TDINPUT style="COLOR: blue" onclick="inputkey('9')" type=button value=" 9 " name=k9 /TD

TDINPUT style="COLOR: red" onclick="operation('/',6)" type=button value=" / " /TD

TDINPUT style="COLOR: red" onclick="operation('%',6)" type=button value=取余 /TD

TDINPUT style="COLOR: red" onclick="operation('',3)" type=button value=" 与 " /TD/TR

TR align=middle

TDINPUT style="COLOR: blue" onclick="inputkey('4')" type=button value=" 4 " name=k4 /TD

TDINPUT style="COLOR: blue" onclick="inputkey('5')" type=button value=" 5 " name=k5 /TD

TDINPUT style="COLOR: blue" onclick="inputkey('6')" type=button value=" 6 " name=k6 /TD

TDINPUT style="COLOR: red" onclick="operation('*',6)" type=button value=" * " /TD

TDINPUT style="COLOR: red" onclick="inputfunction('floor','deci')" type=button value=取整 name=floor /TD

TDINPUT style="COLOR: red" onclick="operation('|',1)" type=button value=" 或 " /TD/TR

TR align=middle

TDINPUT style="COLOR: blue" onclick="inputkey('1')" type=button value=" 1 " /TD

TDINPUT style="COLOR: blue" onclick="inputkey('2')" type=button value=" 2 " name=k2 /TD

TDINPUT style="COLOR: blue" onclick="inputkey('3')" type=button value=" 3 " name=k3 /TD

TDINPUT style="COLOR: red" onclick="operation('-',5)" type=button value=" - " /TD

TDINPUT style="COLOR: red" onclick="operation('',4)" type=button value=左移 /TD

TDINPUT style="COLOR: red" onclick="inputfunction('~','~')" type=button value=" 非 " /TD/TR

TR align=middle

TDINPUT style="COLOR: blue" onclick="inputkey('0')" type=button value=" 0 " /TD

TDINPUT style="COLOR: blue" onclick=changeSign() type=button value=+/- /TD

TDINPUT style="COLOR: blue" onclick="inputkey('.')" type=button value=" . " name=kp /TD

TDINPUT style="COLOR: red" onclick="operation('+',5)" type=button value=" + " /TD

TDINPUT style="COLOR: red" onclick=result() type=button value=" = " /TD

TDINPUT style="COLOR: red" onclick="operation('x',2)" type=button value=异或 /TD/TR

TR align=middle

TDINPUT style="COLOR: blue" disabled onclick="inputkey('a')" type=button value=" A " name=ka /TD

TDINPUT style="COLOR: blue" disabled onclick="inputkey('b')" type=button value=" B " name=kb /TD

TDINPUT style="COLOR: blue" disabled onclick="inputkey('c')" type=button value=" C " name=kc /TD

TDINPUT style="COLOR: blue" disabled onclick="inputkey('d')" type=button value=" D " name=kd /TD

TDINPUT style="COLOR: blue" disabled onclick="inputkey('e')" type=button value=" E " name=ke /TD

TDINPUT style="COLOR: blue" disabled onclick="inputkey('f')" type=button value=" F " name=kf /TD/TR/TBODY/TABLE/TD/TR/TBODY/TABLE/TD/TR/TBODY/TABLE/FORM/DIV%referer=Request.ServerVariables ("HTTP_REFERER")%

!--结束 --

javaatctan的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javaatctan的信息别忘了在本站进行查找喔。