科学计算机js代码,利用js实现在线科学计算器代码

特效描述:利用js实现在线科学计算器代码。利用js实现在线科学计算器代码

代码结构

1. HTML代码

οnclick="txtnum.value='0';result=0 ">

οnclick="backspace()">

οnclick="math('sin')">

οnclick="math('cos')">

οnclick="math('tan')">

οnclick="math('asin')">

οnclick="math('acon')">

οnclick="math('atan')">

οnclick="math('PI')">

οnclick="math('1/x')">

οnclick="math('exp')">

οnclick="math('lnx')">

οnclick="math('lgx')">

οnclick="math('n!')">

οnclick="num('7')">

οnclick="num('8')">

οnclick="num('9')">

οnclick="num('4')">

οnclick="num('5')">

οnclick="num('6')">

οnclick="num('1')">

οnclick="num('2')">

οnclick="num('3')">

οnclick="num('0')">

οnclick="compute('=')">

οnclick="compute('+')">

οnclick="math('i')">

οnclick="compute('-')">

οnclick="compute('%')">

οnclick="compute('*')">

οnclick="compute('x^y')">

οnclick="compute('')">

οnclick="reverse()">

//operator 运算符

var Boo=false; //判断是否按下计算符号的布尔变量;

var result=0; //存储计算数据的变量

var ope; //存储计算符号的变量

function $(x){

return document.getElementById(x)

}

function decimal(){

var txt=$('txtnum');

if(Boo){

txt.value='0.' //若接受过运算符,文本框清零

} else{

if (txt.value.indexOf('.')==-1) { //判断数值中是否已经有小数点

txt.value+='.'; //若没有则加上

}

}

Boo=false; //若接受过运算符,文本框不能清零

}

//indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

//如果要检索的字符串值没有出现,则该方法返回 -1。

function num(Num){

var txt=$('txtnum');

if (Boo) {

txt.value=Num;

Boo=false;

}else{

if (txt.value=='0') {

txt.value=Num

}else{

txt.value+=Num;

}

}

}

function compute(op){

var onum=$('txtnum').value;

if (onum=='') {onum=0}

Boo=true;

switch(ope){

case '+':

result+=parseFloat(onum);break;

case '-':

result-=parseFloat(onum);break;

case '*':

result*=parseFloat(onum);break;

case '':

result/=parseFloat(onum);break;

case '=':

result=parseFloat(onum);break;

case '%':

result%=onum;break;

//{result%=onum;break;}break;

case 'x^y':

result=Math.pow(result,onum);break;

//{result=Math.pow(result,onum);break;}break;

default:result=parseFloat(onum)

}

$('txtnum').value=result;

ope=op;

}

function math(op){

var onum=$('txtnum').value;

if (onum==''){alert('数据不能为空')};

Boo=true;

with(Math){

switch(op){

case 'sin':result=sin(onum);break;

case 'cos':result=cos(onum);break;

case 'tan':result=tan(onum);break;

case 'asin':result=asin(onum);break;

case 'acos':result=acos(onum);break;

case 'atan':result=atan(onum);break;

case 'PI':result=PI;break;

case '1/x':result=1/onum;break;

case 'exp':result=exp(onum);break;

case 'lnx':result=log(onum);break;

case 'lgx':result=log(onum)/log(10);break;

case 'i':result=floor(onum);break;

case 'n!':result=jc(onum);break;

default:result=parseFloat(onum);

}

}

$('txtnum').value=result;

}

function jc(a){

if(a==1){

return 1;

}else{

return jc(a-1)*a

}

}

function reverse(){

var Num1=$('txtnum').value;

if (Num1=='') {

alert('数据不能为空')

}else{

$('txtnum').value*=-1;

}

}

function backspace(){

var txt=$('txtnum');

txt.value=txt.value.substring(0,txt.value.length-1);

if (txt.value=='') {txt.value=0}

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值