-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
111 lines (98 loc) · 2.72 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
var num = 0,result = 0,numshow = "0";
var operate = 0; //determine input state
var calcul = 0; //determine calculator state
var quit = 0; //avoid click twice
function command(num){
var str=String(document.calculator.numScreen.value); //get value
str = (str !="0") ? ((operate==0) ? str:"") :""; // if value is != "0" but state is 0, return value; or return null;
str = str + String(num); //add character
document.calculator.numScreen.value = str; //refresh
operate=0; // reset input
quit=0; // reset avoid click twice
}
function dzero(){
var str=String(document.calculator.numScreen.value);
str = (str != "0") ? ((operate==0) ? str+"00":"0") : "0";
document.calculator.numScreen.value = str;
operate = 0;
}
function dot(){
var str=String(document.calculator.numScreen.value);
str = (str != "0") ? ((operate==0) ? str : "0") : "0";
for(i=0;i<=str.length;i++){ //determine whether a dot is existing
if(str.substr(i,1)==".") return false;
}
str = str + "."
document.calculator.numScreen.value=str;
operate=0;
}
function del(){
var str=String(document.calculator.numScreen.value);
str = (str != "0") ? str : "";
str = str.substr(0,str.length-1)
str = (str != "") ? str : "0";
document.calculator.numScreen.value=str;
}
function clearscreen(){
num=0;
result=0;
numshow="0";
document.calculator.numScreen.value="0";//原文里是等于str 0
}
//operation
function plus(){
calculate();
operate=1;
calcul=1;
}
function minus(){
calculate();
operate=1;
calcul=2;
}
function times(){
calculate();
operate=1;
calcul=3;
}
function divide(){
calculate();
operate=1;
calcul=4;
}
function persent(){
calculate();
operate=1;
calcul=5;
}
function equal(){
calculate();
operate=1;
num=0;
result=0;
numshow="0";
}
//calculate
function calculate(){
numshow=Number(document.calculator.numScreen.value);
if (num != 0 && quit != 1){
switch(calcul){
case 1: result = num + numshow;break;
case 2: result = num - numshow;break;
case 3: result = num * numshow;break;
case 4:if(numshow != 0){result = num/numshow;} else{document.getElementById("note").innerHTML="被除数不能为零!"; setTimeout(clearnote,4000)} break;
case 5: result = num & numshow;break;
}
quit = 1;
}
else{
result = numshow;
}
numshow=String(result)
document.calculator.numScreen.value=numshow;
num=result;
}
// clear alert
function clearnote(){
document.getElementById("note").innerHTML="";
}