11. JavaScript - Number

박지윤·2023년 9월 5일
0

JavaScript

목록 보기
11/13

Number

1. Number 객체

Number 객체는 숫자를 다룰 때 유용한 프로퍼티와 메소드를 제공하는 객체이다.
간단하게는 문자열을 숫자로 변경해주는 용도로도 자주 사용된다.

2. Number 객체 메소드

1) toExponential

인수를 지수 표기법으로 변환하여 문자열로 반환한다. 지수 표기법은 e(Exponent) 앞에 있는 숫자에 10의 n승이 곱하는 형식으로 수를 나타내는 방식이다. (ex: 1234 = 1.234e+3)

let a = 1234;
a.toExponential(); //1.234e+3
a.toExponential(1); //1.2e+3
a.toExponential(2); //1.23e+3
a.toExponential(3); //1.234e+3
a.toExponential(4); //1.2340e+3

2) toFixed

매개변수로 지정된 소숫점 자리를 반올림하여 문자열로 반환한다.
만약 매개변수를 입력하지 않을 경우 정수 형태의 문자열 반환한다.

let a = 3.456789;  
a.toFixed(); //3
a.toFixed(1); //3.5
a.toFixed(2); //3.46
a.toFixed(3); //3.457

3) toPrecision

매개변수로 지정된 자릿수까지 유효하도록 나머지 자릿수를 반올림하여 문자열로 반환한다.
지정된 전체 자릿수로 표현할 수 없는 경우 지수 표기법으로 결과를 반환한다.

let a = 123.456;

a.toPrecision(); //123.456
a.toPrecision(1); //1e+2
a.toPrecision(2); //1.2e+2
a.toPrecision(3); //123
a.toPrecision(4); //123.5

4) toString

숫자를 문자열로 변환하여 반환. 매개변수로 지정된 진법으로 변환하여 문자열로 반환한다.
만약 매개변수가 지정되지 않았을 경우 10진수로 반환한다.

let a = 16;

a.toString();   // "16"
a.toString(2);  // "10000"
a.toString(8);  // "20"
a.toString(16); // "10" 

5) valueOf

Number 객체의 원시 값을 숫자형 타입으로 반환한다.

var numObj = new Number(10);
typeof numObj; // object

var num = numObj.valueOf();
num;           // 10
typeof num;    // number

3. Number 객체 프로퍼티

1) MAX_VALUE & MIN_VALUE

MAX_VALUE는 자바스크립트에서 표현 가능한 가장 큰 수(1.7976931348623157e+308)를 반환한다.
이보다 큰 수는 Infinity이다.

MIN_VALUE는 자바스크립트에서 표현 가능한 가장 작은 수(5e-324)를 반환한다.
이보다 작은 수는 0으로 변환된다.

2) POSITIVE_INFINITY & NEGATIVE_INFINITY

POSITIVE_INFINITY는 양의 무한대 Infinity를 반환한다.
NEGATIVE_INFINITY는 음의 무한대 -Infinity를 반환한다.

3) NaN

숫자가 아님(Not-a-Number)을 나타내는 숫자값이다.

parseInt

데이터를 정수 형태의 숫자형으로 반환한다.

let num1 = "123";
let num2 = "-123";
let num3 = "0.92532";
let num4 = "     30.5    ";
let num5 = "num 123";
let num6 = "123 num";
let num7 = "123 num 456";

parseInt(num1);  // 123
parseInt(num2);  // -123
parseInt(num3);  // 0
parseInt(num4);  // 30
parseInt(num5);  // NaN
parseInt(num6);  // 123
parseInt(num7);  // 123

parseFloat

데이터를 실수 형태의 숫자형으로 반환한다.

let num1 = "123";
let num2 = "-123";
let num3 = "0.92532";
let num4 = "     30.5    ";
let num5 = "num 123";
let num6 = "123 num";
let num7 = "123 num 456";

parseFloat(num1);  // 123
parseFloat(num2);  // -123
parseFloat(num3);  // 0.92532
parseFloat(num4);  // 30.5
parseFloat(num5);  // NaN
parseFloat(num6);  // 123
parseFloat(num7);  // 123

parseInt, perseFloat, Number의 차이

parseInt

  • 정수 형태의 숫자형으로 반환한다.
  • 옵션을 통해 2 ~ 36진수까지 정의 가능하다.
  • 숫자 뒤에 문자열이 붙어있을 경우 정수를 반환하지만, 문자가 앞에 붙어있을 경우 NaN가 반환된다.
    (ex: 2020년도 > 2020 / 약200년 전 > NaN)

perseFloat

  • 실수 형태의 숫자형으로 반환한다.
  • 나머지는 parseInt와 동일한 특징을 갖는다.

Number

  • 문자열 전체가 숫자라면 모두 숫자형으로 변환한다.
    (ex: "2020" > 2020 / "3.141414" > 3.141414)
  • 대신 문자열에 문자가 하나라도 있으면 NaN를 반환한다.
profile
프론트엔드 개발 및 실무 프로젝트 구현과정 수료

0개의 댓글