Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 742|回复: 0

javascript计算器代码

[复制链接]

该用户从未签到

发表于 2011-10-16 17:17:36 | 显示全部楼层 |阅读模式
<HTML>
<head><title></title></head>
<script language="javascript">
var curState;
var curOper;
var num1;
var preOper;
function setStartState()
{
curState="beStart";
num1=0;
curOper="start";
preOper=false;
}
function addNum(i)
{
if(preOper)
{
     cal.total.value=i;
     preOper=false;
}
else
{
     if(cal.total.value=="0")
     {
      cal.total.value=i;
      curState="beInteger";
     }
     else
     cal.total.value+=i;
}
}
function addPoint()
{
if(curState=="beStart" || curState=="beInteger")
{
     cal.total.value+=".";
     curState="beFloat";
}
}
function cleartext()
{
cal.total.value="0";
curState="beStart";
curOper="start";
}
function count()
{
if(curOper!="start")
{
     switch(curOper)
     {
      case "+":
      num1=parseFloat(num1) + parseFloat(cal.total.value);
      break;
      case "-":
      num1=parseFloat(num1) - parseFloat(cal.total.value);
      break;
      case "*":
      num1=parseFloat(num1) * parseFloat(cal.total.value);
      break;
      case "/":
      num1=parseFloat(num1) / parseFloat(cal.total.value);
      break;
     }
     cal.total.value=num1;
     preOper=true;
}
curOper="start";
}
function setOper(oper)
{
preOper=true;
if(curOper="start")
{
     /*num1=parseFloat(cal.total.value);*/
       num1=0+cal.total.value;
     curOper=oper;
}
else
{
     count();
     curOper=oper;
}
}
function useFunc(func)
{
switch(func)
{
case "sin":
cal.total.value=Math.sin(cal.total.value);
preOper=true;
break;
case "cos":
cal.total.value=Math.cos(cal.total.value);
preOper=true;
break;
case "asin":
cal.total.value=Math.asin(cal.total.value);
preOper=true;
break;
case "acos":
cal.total.value=Math.acos(cal.total.value);
preOper=true;
break;
case "tan":
cal.total.value=Math.tan(cal.total.value);
preOper=true;
break;
case "atan":
cal.toatl.value=Math.atan(cal.total.value);
preOper=true;
break;
case "log":
cal.total.value=Math.log(cal.total.vlaue);
preOper=true;
break;
case "exp":
cal.total.value=Math.exp(cal.total.value);
preOper=true;
break;
case "sqrt":
cal.total.value=Math.sqrt(cal.total.value);
preOper=true;
break;
case "1/x":
cal.total.value=1/cal.total.value;
preOper=true;
break;
}
}
</script>
<style type="text/css">
table{
border:solid 1px #b9cdf6;
border-collapse:collapse;
}
td{
border:1px;
height:25px;
color:silver;
}
</style>
<body onLoad="setStartState()">
<form name="cal">
<table width="474" height="316" border="2" align="center" bordercolor="#b9cdf6" bgcolor="#e5e1d4">
<tr align="center">
<td height="48" colspan="6">
   <input name="total" type="text" value="0" size="40"></td>
</tr>
<tr align="center">
<td width="72" height="44">
<input type="button" value="sin" onClick="useFunc('sin')"></td>
<td width="72">
<input type="button" value="cos" onClick="useFunc('cos')"></td>
<td width="72">
<input type="button" value="1" onClick="addNum('1')"></td>
<td width="72">
<input type="button" value="2" onClick="addNum('2')"></td>
<td width="72">
<input type="button" value="3" onClick="addNum('3')"></td>
<td width="72">
<input type="button" value="+" onClick="setOper('+')"></td>
</tr>
<tr align="center">
<td height="48">
<input type="button" value="asin" onClick="useFunc('asin')"></td>
<td>
<input type="button" value="acos" onClick="useFunc('acos')"></td>
<td>
<input type="button" value="4" onClick="addNum('4')"></td>
<td>
<input type="button" value="5" onClick="addNum('5')"></td>
<td>
<input type="button" value="6" onClick="addNum('6')"></td>
<td>
<input type="button" value="-" onClick="setOper('-')"></td>
</tr>
<tr align="center">
<td height="53">
<input type="button" value="tan" onClick="useFunc('tan')"></td>
<td>
<input type="button" value="atan" onClick="useFunc('atan')"></td>
<td>
<input type="button" value="7" onClick="addNum('7')"></td>
<td>
<input type="button" value="8" onClick="addNum('8')"></td>
<td>
<input type="button" value="9" onClick="addNum('9')"></td>
<td>
<input type="button" value="*" onClick="setOper('*')"></td>
</tr>
<tr align="center">
<td height="59">
<input type="button" value="log" onClick="useFunc('log')"></td>
<td>
<input type="button" value="exp" onClick="useFunc('exp')"></td>
<td>
<input type="button" value="0" onClick="addNum('0')"></td>
<td>
<input type="button" value="." onClick="addPoint()"></td>
<td>
<input type="button" value="=" onClick="count()"></td>
<td>
<input type="button" value="/" onClick="setOper('/')"></td>
</tr>
<tr align="center" >
<td height="46">
<input type="button" value="sqrt" onClick="useFunc('sqrt')"></td>
<td>
<input type="button" value="1/x" onClick="useFunc('1/x')"></td>
<td>
<input type="button" value="pi" onClick="cal.total.value=Math.PI"></td>
<td>
<input type="button" value="E" onClick="cal.total.value=Math.E"></td>
<td colspan="2">
<input type="button" value="清零" onClick="cleartext()"></td></tr>
</table>
</form>
</body>
</html>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-18 19:27 , Processed in 0.413750 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表