1. isFinite()
- 해당 값이 유한한값인지 판별
- 해당 값이 유한한 숫자이면 true, 무한한 숫자 또는 숫자가 아니라면 false 반환
- ex) 123.123 -> 유한한 숫자 : true
infinity -> 무한한 숫자 : false
문자열 -> 문자 : false
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
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>isFinite함수</title>
<script type="text/javascript">
var number1 = 10 / 0;
document.write('number1 = '+number1+'<br>');//number1 = Infinity
//양수를 0으로 나누면 Infinity라고 출력되지만
//음수를 0으로 나누면 -Infinity라고 출력된다.
//조건 체크 시 Infinity로 체크하는 것은 문제가 있다.
if(number1 == Infinity){ //0으로 나누는 경우
document.write('무한<br>');
}else {
document.write('유한<br>');
}
var number2 = -10/0;
document.write('number2 = '+number2+'<br>');//number2 = -Infinity
var number3 = 10/2;
document.write('-------------------------<br>');
//양수, 음수를 0으로 나눴는지 아닌지 모든 검증 가능
if(isFinite(number1)){ //0이 아닌 수로 나눈 경우
document.write('유한:0이 아닌 수로 나눔<br>');
}else{//0으로 나눈 경우
document.write('무한:0으로 나눔<br>');
}
if(isFinite(number2)){ //0이 아닌 수로 나눈 경우
document.write('유한:0이 아닌 수로 나눔<br>');
}else{//0으로 나눈 경우
document.write('무한:0으로 나눔<br>');
}
if(isFinite(number3)){ //0이 아닌 수로 나눈 경우
document.write('유한:0이 아닌 수로 나눔<br>');
}else{//0으로 나눈 경우
document.write('무한:0으로 나눔<br>');
}
</script>
//출력 결과
number1 = Infinity
무한
number2 = -Infinity
-------------------------
무한:0으로 나눔
무한:0으로 나눔
유한:0이 아닌 수로 나눔
</head>
<body>
</body>
</html>
|
cs |
2. isNaN()
- 매개변수가 숫자인지 아닌지 검사하는 함수
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
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>isNaN함수</title>
<script type="text/javascript">
var number1 = 10 / 'A';
document.write('number1 = '+number1 + '<br>');
if(number1 == NaN){ //항상 false로 반환하기 떄문에 isNaN함수를 사용해야한다.
document.write('숫자가 아님<br>');
}else {
document.write('숫자임<br>');
}
document.write('-------------------<br>');
//전달된 인자의 값이 숫자인지 아닌지 판별
if(isNaN(number1)){
document.write('숫자가 아님<br>');
}else {
document.write('숫자임<br>');
}
</script>
//출력 결과
number1 = NaN
숫자임
-------------------
숫자가 아님
</head>
<body>
</body>
</html>
|
cs |
3. parseInt(), parseFloat()
- 문자열을 수로 바꾸는 함수
- parseInt() : 문자열 -> 정수
- parseFloat() : 문자열 -> 실수
- 띄어쓰기로 여러 개의 수가 있으면 첫번째 수만 바꿈
- 공백으로 시작하면 공백 무시
- 수가 아닌 문자로 시작하면 NaN을 반환
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
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>parseInt/parseFloat</title>
<script type="text/javascript">
var num = '1234.56';
var won = '1000원';
var won2 = '원1000';
document.write(Number(num) + '<br>'); //string -> number;
document.write(Number(won) + '<br>'); //NaN 출력
document.write(parseInt(won) + '<br>'); //앞의 숫자를 추출해서 형변환(1000)
document.write(parseInt(won2) + '<br>'); //앞에있는 숫자만 추출하므로 NaN출력
document.write('--------------------------------<br>');
var num2 = '24.56';
var dollar = '1.5$';
var dollar2 = '$1.5';
document.write(Number(num2) + '<br>'); //string --> number
document.write(Number(dollar) + '<br>'); //NaN
document.write(parseFloat(dollar) + '<br>'); //앞의 숫자를 추출해서 형변환(1.5)
document.write(parseFloat(dollar2) + '<br>'); //NaN
</script>
//출력 결과
1234
NaN
1000
NaN
--------------------------------
24.56
NaN
1.5
NaN
</head>
<body>
</body>
</html>
|
cs |
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
[자바스크립트]내장 함수 : eval() (0) | 2021.07.26 |
---|---|
[자바스크립트]내장 함수 : 인코딩/ 디코딩 (0) | 2021.07.26 |
[자바스크립트] 내부 함수, 클로저 (0) | 2021.07.26 |
[자바스크립트] 함수 : 콜백 함수 (0) | 2021.07.26 |
[자바스크립트]변수 : let, static (0) | 2021.07.26 |