-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain3.js
62 lines (53 loc) · 1.33 KB
/
main3.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
// データ
var result = "";
// =で計算したかどうか
var is_calc = false;
// 初期表示
window.onload = function () {
result = document.getElementById("result");
};
// ACキー押下
function c_click(){
result.value = "0";
is_calc = false;
}
// 数字キー押下
function num_click(val){
if(is_calc) result.value = "0";
is_calc = false;
if(result.value =="0" && val == "0"){
result.value = "0";
}if(result.value =="0" && val == "00"){
result.value = "0";
}else if(result.value == "0" && val == "."){
result.value = "0.";
}else if(result.value == "0"){
result.value = val;
}else{
result.value += val;
}
}
// 演算子キー押下
function ope_click(val){
if(is_calc) is_calc = false;
if(is_ope_last()){
result.value = result.value.slice(0, -1) + val;
} else {
result.value += val;
}
}
// =キークリック
function equal_click(){
if(is_ope_last()) result.value = result.value.slice(0, -1);
var temp = new Function("return " + result.value.replaceAll("×", "*").replaceAll("÷", "/"))();
if(temp == Infinity || Number.isNaN(temp)){
result.value = "Error";
}else{
result.value = temp;
is_calc = true;
}
}
// 入力されている値が演算子かどうか
function is_ope_last(){
return ["+","-","×","÷"].includes(result.value.toString().slice(-1));
}