username@email.com
2025-05-21 a980cd04341d71216e0f59bd4b7327fe9fc50032
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
var num = 0, result = 0, numshow = "0";
var operate = 0;           //判断输入状态的标志
var calcul = 0;            //判断计算状态的标志
var quit = 0;              //防止重复按键的标志
 
function command(num) {
    var str = String(document.calculator.numScreen.value);    //获得当前显示数据
    str = (str != "0") ? ((operate == 0) ? str : "") : "";        //如果当前值不是"0",且状态为0,则返回当前值,否则返回空值;
    str = str + String(num);                   //给当前值追加字符
    document.calculator.numScreen.value = str; //刷新显示
    operate = 0;   //重置输入状态
    quit = 0;      //重置防止重复按键的标志
}
 
function dzero() {
    var str = String(document.calculator.numScreen.value);
    str = (str != "0") ? ((operate == 0) ? str + "00" : "0") : "0";   //如果当前值不是"0",且状态为0,则返回当str+"00",否则返回"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";        //如果当前值不是"0",且状态为0,则返回当前值,否则返回"0";
    for (i = 0; i <= str.length; i++) {             //判断是否已经有一个点号
        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";
}
 
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";
}
//
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;   //存储当前值
}
function clearnote() {    //清空提示
    document.getElementById("note").innerHTML = "";
}