더보기
편의상 변수라고 표현, 값이라고 해도 무방
- isNaN(변수) : 변수의 값이 숫자인지 아닌지 판별(is not a Number의 약자),
숫자가 아니면 true, 숫자이면 false.
- isFinite(변수) : 유한한값인지 무한한값인지 판별,
유한하면 true, 무한하면 false.
- Number(변수) : 숫자로 변환하는 함수
- parseInt(변수) : 정수로 변환하는 함수, 정수부분까지만 변환
- parseFloat(변수) : 실수로 변환하는 함수, 소수부분까지만 변환
- String(변수) : 문자열로 바꾸는 함수
var num='123';
document.write(`문자열123은 숫자가 아닙니까? ${isNaN(num)}<br>`);
num='abc';
document.write(`문자열abc는 숫자가 아닙니까? ${isNaN(num)}<br>`);
num=1/0;
document.write(`유한대입니까? ${isFinite(num)}<br>`);
//Number 숫자가 문자열이랑 섞이면서 아예 NaN 판별 불가
document.write(`문자열 123.2abc를 Number(): ${Number('123.2abc')}<br>`);
//변환할 수 있는 정수부분까지 123을 변환하고, 뒤에 문자열은 패스
document.write(`문자열 123.2abc를 parseInt(): ${parseInt('123.2abc')}<br>`);
//변환할 수 있는 소수부분까지 변환하고, 뒤 문자열은 패스
document.write(`문자열 123.2abc를 parseFloat(): ${parseFloat('123.2abc')}<br>`);
- 두 숫자와 산술연산자가 주어졌을 때 산술연산결과를 알려주는 함수를 만들고
테스트 하는 코드를 작성하세요. 단, 두 숫자가 숫자인지 아닌지 확인한 후 산술연산을 하세요.
function calcNum(num1, op, num2){
if(isNaN(num1) || isNaN(num2))
return 'NaN';
switch(op){
case '+' : return num1+num2;
case '-' : return num1-num2;
case '*' : return num1*num2;
case '/' : return num1/num2;
case '%' : return num1%num2;
default: return 'wrong operator.';
}
}
var num1=1, num2=2, op='?';
var res = calcNum(num1, op, num2);
if(res=='NaN')
document.write('숫자가 아닌 값을 산술연산할 수 없음');
else if(res== 'wrong operator')
document.wrtie(`${op}는 산술 연산자가 아닙니다.`);
else
document.write(`${num1} ${op} ${num2} = ${res}`);
NaN 이라고쳐야할 것, 마지막 N을 소문자로 써서 ㅡㅡ 오류 찾아내는데 힘드르뜸
'괴발개발 > Javascript+JQuery' 카테고리의 다른 글
JS_배열 (0) | 2021.06.18 |
---|---|
JS_재귀함수 (0) | 2021.06.18 |
JS_함수의 개념과 예제 (0) | 2021.06.18 |
JS_prompt(팝업 입력창) 입력예제 (0) | 2021.06.18 |
JS_전역변수와 지역변수 (0) | 2021.06.18 |