Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 14466
- 20055
- jenkins
- Eclipse
- 투에모스문자열
- SpringBoot
- 자바
- 백준
- dockercompose
- 2167. 2차원 배열의 합
- 날짜일수
- Java
- Error
- CMD
- 21278
- documentationpluginsbootstrapper
- 2108_통계학
- Error fetching remote repo 'origin'
- 프로그래머스
- 알고리즘
- docker
- 이클립스
- EC2
- 별자리 만들기
- 소가길을건너간이유6
- 이산수학
- 18222
- 호석이두마리치킨
- 설정
- to display the conditions report re-run your application with 'debug' enabled
Archives
- Today
- Total
계단을 오르듯이
JavaScript를 이용해 계산기 만들기 본문
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
window.onload = function () {
var calResult = 0; // 총 연산의 결과값
var oper = null; // 연산자
var calNum = ""; // 첫 피연산자 이후의 모든 피연산자
var flag = false; // 첫 연산의 시작(첫 피연산자 입력됨의 여부)
function makeNum(now) {
// 피연산자 만들기
if (!flag) flag = true; // 첫번째 피연산자 만들 경우
if (calNum == "0" && now == 0) {
// 0의 연속된 숫자 방지 ex) 00000.7 => 0.7로 하기 위해
calNum = 0;
return;
}
calNum = calNum.concat(now); // **concat:문자열 합치기
}
function calcuration(nextOper) {
// 계산하기
if (!flag) return; // 첫번째 연산자가 나올 경우 (피연산자가 없을 경우)
if (!oper) {
// 첫 연산자일 경우, 연산은 하지 않는다. (피연산자 부족)
oper = nextOper;
calResult = calNum; // 첫번째 피연산자를 연산 결과의 변수에 넣어주고
calNum = ""; // 다음 피연산자를 위해 초기화
return;
}
if (oper == "=" || !calNum) {
// 결과 도출 후 다시 그 결과값으로 연산을 이어갈 경우, 연산자를 변경할 경우
oper = nextOper;
return;
}
if (oper == "+") {
// 실수 타입~!
calResult = parseFloat(calResult) + parseFloat(calNum);
// ** 타입을 바꿔줘야 하고!!!! 복합대입연선자 안됨!! **
} else if (oper == "-") {
calResult = parseFloat(calResult) - parseFloat(calNum);
} else if (oper == "x") {
calResult = parseFloat(calResult) * parseFloat(calNum);
} else if (oper == "/") {
calResult = parseFloat(calResult) / parseFloat(calNum);
}
calNum = ""; // 연산 후 다음 피연산자를 위해 초기화
oper = nextOper; // 현재의 연산자를 입력
}
function reset() {
// C 버튼의 초기화
calResult = 0;
oper = null;
start = "";
calNum = "";
flag = false;
}
// C 버튼
document.getElementById("cancel").addEventListener("click", function () {
reset();
document.getElementById("show").innerText = calResult;
});
// 연산자
document.getElementById("multi").addEventListener("click", function () {
calcuration("*");
document.getElementById("show").innerText = calResult;
});
document.getElementById("divi").addEventListener("click", function () {
calcuration("/");
document.getElementById("show").innerText = calResult;
});
document.getElementById("plus").addEventListener("click", function () {
calcuration("+");
document.getElementById("show").innerText = calResult;
});
document.getElementById("minus").addEventListener("click", function () {
calcuration("-");
document.getElementById("show").innerText = calResult;
});
document.getElementById("result").addEventListener("click", function () {
calcuration("=");
document.getElementById("show").innerText = calResult;
});
// 피연산자와 dot(.)
document.getElementById("dot").addEventListener("click", function () {
makeNum(".");
document.getElementById("show").innerText = calNum;
});
document.getElementById("zero").addEventListener("click", function () {
makeNum(0);
document.getElementById("show").innerText = calNum;
});
document.getElementById("one").addEventListener("click", function () {
makeNum(1);
document.getElementById("show").innerText = calNum;
});
document.getElementById("two").addEventListener("click", function () {
makeNum(2);
document.getElementById("show").innerText = calNum;
});
document.getElementById("three").addEventListener("click", function () {
makeNum(3);
document.getElementById("show").innerText = calNum;
});
document.getElementById("four").addEventListener("click", function () {
makeNum(4);
document.getElementById("show").innerText = calNum;
});
document.getElementById("five").addEventListener("click", function () {
makeNum(5);
document.getElementById("show").innerText = calNum;
});
document.getElementById("six").addEventListener("click", function () {
makeNum(6);
document.getElementById("show").innerText = calNum;
});
document.getElementById("seven").addEventListener("click", function () {
makeNum(7);
document.getElementById("show").innerText = calNum;
});
document.getElementById("eight").addEventListener("click", function () {
makeNum(8);
document.getElementById("show").innerText = calNum;
});
document.getElementById("nine").addEventListener("click", function () {
makeNum(9);
document.getElementById("show").innerText = calNum;
});
};
|
cs |
'배움과 개발 일지' 카테고리의 다른 글
eclipse에 lombok 설치하기 (0) | 2022.01.10 |
---|---|
CMD 창에서 Mysql 접속하기 (0) | 2022.01.10 |
[환경설정]JDK와 Eclipse 설치 환경변수 설정 (0) | 2022.01.10 |
AWS Ubuntu EC2를 MobaXterm로 연결하여 NGINX를 설치한 후 React App build 배포하기 (0) | 2021.03.12 |
React App을 build하여 Docker NGINX에 배포하기 (0) | 2021.03.10 |