ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

简易计算器

2021-10-21 00:00:32  阅读:400  来源: 互联网

标签:简易 value temp2 temp1 parseFloat nbsp 计算器 var


模仿window自带计数器
1.实现简单的加减乘除

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>点击版的计算机</title>
</head>
<body>
<form  >
<input type="text" id="t1" style="width: 160px"></input><br>
<input type="text" id="zhang" style="width: 160px" value="0" disabled="disabled"></input><br><br>

<input type="button" value="归零" style="width: 80px" onclick="a(this.value)"></input>
<input type="button" value="退格" style="width: 80px" onclick="tuiGe()"></input><br><br>

<input name="i1" id="i1" type="button" value="1" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i2" id="i2" type="button" value="2" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i3" id="i3" type="button" value="3" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i10" id="i10" type="button" value="+" onclick="f(this.value)"></input><br><br>

<input name="i4" id="i4" type="button" value="4" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i5" id="i5" type="button" value="5" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i6" id="i6" type="button" value="6" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="11" id="11" type="button" value="-" onclick="f(this.value)"></input><br><br>

<input name="i7" id="i7" type="button" value="7" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i8" id="i8" type="button" value="8" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i9" id="i9" type="button" value="9" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i12" id="i9" type="button" value="*" onclick="f(this.value)"></input><br><br>

<input name="i13" id="i13" type="button" value="0" onclick="z(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i14" id="i14" type="button" value="." onclick="dianHao(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i15" id="i15" type="button" value="=" onclick="h(this.value)"></input>&nbsp;&nbsp;&nbsp;
<input name="i16" id="i16" type="button" value="/" onclick="f(this.value)"></input><br><br>

<input type="button" value="关于" style="width: 80px" id="19" onclick="guanYu()"></input>
<input type="button" value="退出" style="width: 80px" onclick="window.close()" ></input><br><br>
</form>


<script type="text/javascript"> //变量
var k=0;
var dianhao=0;
var dh="=";
var temp1=0;
var temp2=0;
var fh="";
var fuhao=0;
var b=document.getElementById("t1")
var j=document.getElementById("zhang")


function guanYu(){  //关于
	alert("零度工作室");
}

function dianHao(X){ //点号
	if (dianhao==0) {
		if (k==0) {
			j.value="0.";
		} else if(j.value=="除数不能为零" || j.value=="运算符出错"){
			j.value="0.";
			b.value="";
		
		} else {
			j.value=j.value+X;
		}
		k=1;
		dianhao=1;
	} 

}//大if

function tuiGe(){    //退格
	var temp=j.value;
	if (j.value=="除数不能为零" || j.value=="运算符出错" ) {
		j.value="0";
		b.value="";
		k=0;
	} else {
		j.value=temp.substring(0, temp.length-1);
		
	}
}	

function a(a) {   //归零
	k=0;
    temp1=0;
	temp2=0;
	fh="";
	b.value=""; 
	j.value="0";
	dh="=";
	dianhao=0;
	fuhao==0;
	
}
function z(n){   //0-9
	var i=document.getElementById("i"+n);
    if(k==0 && n==0){
    	
    }else if (k==0 && j.value!="0"){
    	j.value="";
    	j.value=n;
    	k=1;
    	
    }else if(k==0 && j.value!=""){
    		a(n);
           j.value=n;
           k=1;
    } else {
    	 j.value=j.value+n;	
    	 k=1;
    }  
    
   
}

function f(m){   //符号
	if (m=="-" && fuhao==0 && k==0) {
		j.value="-";
		k=1;
	} else {
	run();
	fh=m;
    temp1=j.value; 
     k=0;
     dianhao=0;
     j.value="";
     b.value=temp1+fh;
  }
  if (condition) {
	
} else {

}
}


function h(c){    //等号
     run();
     b.value=temp1+fh+temp2+dh; 
     k=0;
     temp1=0;
 	 temp2=0;
   	 fh="";
 	 dh="=";
 	 fuhao==0;
 }


function run() {   //运算函数
	if (j.value=="") {
		temp2=0;
	} else {
		 temp2=j.value;
	}
	
	switch (fh) {
	case "+":
		j.value=parseFloat(temp1)+parseFloat(temp2);
		break;
	case "-":
		j.value=parseFloat(temp1)-parseFloat(temp2);
		break;
	case "*":
		j.value=parseFloat(temp1)*parseFloat(temp2);
		break;
	case "/":
	if (parseFloat(temp2)=="0") {  //除数不能为零的判断
		j.value="除数不能为零";
		
	
	} else {
		j.value=parseFloat(temp1)/parseFloat(temp2);
	} 
	
	if (parseFloat(temp1)/parseFloat(temp2)*10000000000000000/1!= 0) {
		dh="≈";
	}
		break;
		
	default:     //防止乘号出错
		if (fh=="") {
			break;
		} else {
			j.value="运算符出错";
			k=0;
		    temp1=0;
		 	temp2=0;
		   	fh="";
		 	dh="=";
		 	dianhao=0;
			break;
		}
	}
	
}
</script>
</body>
</html>

标签:简易,value,temp2,temp1,parseFloat,nbsp,计算器,var
来源: https://blog.csdn.net/zgw77477/article/details/120877606

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有