조금씩 꾸준히 완성을 향해

[JavaScript] Data type - Number (숫자 표기와 대표 메소드) 본문

기타 언어/JavaScript

[JavaScript] Data type - Number (숫자 표기와 대표 메소드)

all_sound 2022. 7. 27. 10:26

 

 

< 지수/진법 >

 
 

 - 지수 표기법(Exponential notation)

 
  : 아주 큰 숫자나 아주 작은 숫자 표기를 위해 지수 표기법(e)으로 0의 개수를 대체
 
    let billion_1 = 1000000000; //10억
    let billion_2 = 1e9; // 1 + 0이 9개
    let us = 1e-6; // micro sec, 왼쪽으로 6번 소수점 이동

    console.log(billion_1); //1,000,000,000
    console.log(billion_2); //1,000,000,000
    console.log(us); //0.000001

 


 

 - 진법 표기(Base N)

 

 :  0x(16진수), 0o(8진수), 0b(2진수)로 N진수 표기

 
    console.log(0x0f); //15
    console.log(0o17); //15  
    console.log(0b1111); //15

 
 

 
 

< Number 상수값 >

 

 Number.MAX_VALUE  : 지수로 표기되는 양수 최대값

 

   Number.MIN_VALUE  : 지수로 표기되는 양수 최소값

 
 

 Number.MAX_SAFE_INTEGER  : 안전하게 표기되는 최대(양수)값

 

   Number.MIN_SAFE_INTEGER  : 안전하게 표기되는 최소(음수)값

 
 

 Number.POSITIVE_INFINITY  : 무한대 양수값

 

   Number.NEGATIVE_INFINITY  : 무한대 음수값

 
 

 Number.NaN

 : 부동 소수점 산술에서 정의되지 않거나 표현할 수 없는 값으로 해석될 수 있는 숫자 데이터 유형

 
    console.log(Number.MAX_VALUE); //1.7976931348623157e+308
    console.log(Number.MIN_VALUE); //5e-324

    console.log(Number.MAX_SAFE_INTEGER); //9007199254740991
    console.log(Number.MIN_SAFE_INTEGER); //-9007199254740991

    console.log(Number.POSITIVE_INFINITY); //Infinity
    console.log(Number.NEGATIVE_INFINITY); //-Infinity

    console.log(Number.NaN); //NaN
    console.log(NaN); //NaN

 

 


 
 

< 대표 Methods >

 
 

- 형변환(Type casting)

 
 

  숫자를 문자열로 변환 : Number.toString(),  String(Number),  Number + " "

 
    us = 1e-6; //micro sec, 왼쪽으로 6번 소수점 이동
    console.log(us.toString()); //0.000001
    console.log(typeof us.toString()); //string
    console.log(typeof String(us)); //string
    console.log(typeof (us + "")); //string

 
 

- 자리수 표현

 
 
   Number.toFixed(pos) : 소수의 자리수 길이 제한
 
   Number.toPrecision(pos) :  정수와 소수의 자리 수를 합한 길이로 제한
 
    let num_1 = 125.0;
    let num_2 = 123.456;
    
    console.log(num_1 - num_2); //1.543999999999997
    console.log((num_1 - num_2).toFixed(3)); //1.544
    console.log((num_1 - num_2).toPrecision(3)); //1.54​

 


 - Number 자료형 확인

 
 
   Number.isNaN() 부동 소수점 산술에서 정의되지 않거나 표현할 수 없는 값(NaN)인지 확인
 
   Number.isFinite() : 유한수인지 확인
 
    console.log(!Number.isNaN(0.123)); //true
    console.log(!Number.isNaN(123 / "hello")); //false
    console.log(Number.isFinite(-123)); //true
    console.log(Number.isFinite(Infinity)); //false
    console.log(Number.isFinite("hello")); //false

 
 
 

 - 정수와 실수로 형 변환

 
 
   Number.parseInt() : 정수로 변환 (N진수로 명시적 변환도 가능)
 
   Number.parseFloat() : 실수로 변환

 

    console.log(Number.parseInt("125px")); //125
    console.log(Number.parseFloat("1.25em")); //1.25
    console.log(Number.parseInt("1.25em")); //1
    console.log(Number.parseInt("t123")); //NaN
    console.log(Number.parseInt("0f", 16)); //15