본문 바로가기
Programming/Javascript

[Javascript] 내장 객체 - Number 객체

by Bam_t 2021. 3. 5.
728x90
Number 객체의 특정 프로퍼티, 메소드를 찾으시는 분은 Ctrl + F로 검색

Number 객체는 숫자 데이터를 처리하기 위한 내장 객체 입니다.


1. Number 객체의 프로퍼티

Number 객체의 프로퍼티는 모두 정적 프로퍼티입니다. 정적 프로퍼티/메소드에 대한 설명은 아래를 참조해주세요.

2021/03/03 - [Programming/Javascript] - [Javascript] 정적 프로퍼티와 정적 메소드

 

1. NaN (Not a Number)

NaN
//정적 프로퍼티이므로 실제 접근은 아래와 같이합니다.
Number.NaN

NaN은 Not a Number의 줄임말입니다. 말그대로 숫자가 아닌 값을 의미합니다. Null과 undefined와는 다릅니다.

NaN은 숫자가 아니며 모든 값과 같이 않기 때문에 NaN === NaN이란 식은 false입니다.

 

2. MAX_VALUE, MIN_VALUE

MAX_VALUE
MIN_VALUE

Number 객체로 표현이 가능한 최대/최소값을 출력합니다.

 

3. MAX_SAFE_INTEGER, MIN_SAFE_INTEGER

MAX_SAFE_INTEGER
MIN_SAFE_INTEGER

Number 객체로 안전하게 표현이 가능한 최대/최소 정수값 입니다.

 

4. NEGATIVE_INFINITY, POSITIVE_INFINITY

NEGATIVE_INFINITY
POSITIVE_INFINITY

각각 음수/양수의 무한대를 표시합니다.

 

 

5. EPSILON

EPSILON

1과 Number로 표현 가능한 1보다 큰 최소 값과의 차. 다음과 같은 값이 나온다고 합니다.

 

console.log(Number.EPSILON);

 

 

 

 

2. Number의 메소드

1. toString()

toString(n);

toString()메소드는 인수(n)로 넘겨진 진수의 값으로 변환됩니다. 인수는 2~36까지 넘겨질 수 있습니다.

 

let num = 10;	//10진수 10

console.log(num.toString(2));	//2진수로 변환
console.log(num.toString(8));	//8진수로 변환
console.log(num.toString(16));	//16진수로 변환

 

2. toExponential()

toExponential(n);

숫자를 지수표현으로 변경합니다. 인수 n은 소수점 이하 자릿 수입니다.

 

let num = 10;

console.log(num.toExponential(5));

 

3. toFixed()

toFixed(n);

반올림을 하는 메소드입니다. 인수 n번째 이하의 소숫점 자릿수를 반올림합니다.

 

let num = 1.23456;

console.log(num.toFixed(3));
console.log(num.toFixed(4));

 

4. toPrecision()

toPrecision(n);

숫자를 소수점이하 n자리 수로 변경해줍니다. 자릿수가 더 적으면 버림하고 더 많으면 빈 자리를 0으로 채워서 표시합니다.

 

let num = 1.2345;

console.log(num.toPrecision(3));
console.log(num.toPrecision(7));

 

※ 이하의 메소드들은 모두 정적 메소드입니다.

5. isNaN()

isNaN(n);

n의 숫자가 NaN인지를 판별합니다. NaN은 숫자가 아닌 값을 의미합니다. NaN이면 true, NaN이 아니면 false를 반환합니다.

 

isNaN()은 사용에 있어서 살짝 주의를 요합니다. 다음 네 개의 케이스를 보여드립니다.

console.log(isNaN('10'));
console.log(isNaN('3a'));
console.log(isNaN(''));
console.log(isNaN(' '));

문자열이 입력되면 따옴표를 제거합니다. 따옴표를 제거한 문자가 숫자로만 이루어져있다면 숫자로 판별하여 false를 반환, 따옴표가 제거된 문자열에 숫자 이외의 값이 존재하면 NaN으로 판별하여 true를 반환합니다.

또한 빈 문자열과 공백은 숫자 0으로 인식됩니다.

 

 

 

6. isFinte(), isInteger(), isSafeInterger()

isFinite(n);
isInteger(n);
isSafeInteger(n);

isFinite()는 n의 수가 유한값인지 판별합니다.

isInteger()와 isSafeInteger()는 정수 값인지 판별을 합니다. isSafeInteger()는 정수 값이며 안전하게 표현할 수 있는 정수 값인지도 함께 판별합니다.

 

 

7. parseInt(), parseFloat()

parseInt(str, [rad]);
parseFloat(str);

parseInt()는 문자열 str을 정수로 변환합니다. 이때 인수 rad는 입력된 str이 몇진수인지 알려주는 용도입니다. (만약 str이 '3a45f'와 같은형태라면 parseInt(str, 16);처럼요.) 이 rad인수를 생략했을때 기본값은 10진수가 아님에 주의해야합니다.

parseFloat()는 문자열 str을 실수형으로 변환합니다.

 

let num = '10';

console.log(parseInt(num));
console.log(parseInt(num, 10));	//num은 10진수다. 결과:10
console.log(parseInt(num, 2));	//num은 2진수다. 결과:2
console.log(parseFloat(num));

 

다음과 같이 문자열에 숫자와 문자 등이 섞여있을 경우에는 처음부터 숫자로 인식되는 부분만 잘라서 가져옵니다.

let str = '421hi89xz';

console.log(parseInt(str));

 


 

 

 

728x90

댓글