Javascript

자바스크립트 중급 5 -숫자, 수학 method (Number, Math)

mimi04 2023. 6. 12. 11:30

우리가 평소에 사용하는 '10진수' → 개발을 하다보면 '2진수/16진수'가 필요하여 바꿔줘야 한다.

let num = 10;

num.toString();    //"10"      toString→ 숫자를 문자로 바꿔준다.

num.toString(2);       //"1010"      →괄호 안에 쓴 숫자의 진법(2진법)으로 변환한다.

 

let num2 = 255;

num2.toString(16);         //"ff"      →255를 16진수로 바꾼다.

 

*수학과 관련된 프로퍼티와 메소드를 가지고 있는 내장 개체 → Math

  Math.PI;     //3.1415926535    원주율

 ①Math.ceil() : 올림

     let num1 = 5.1;      →   Math.ceil(num1);      //6

     let num2 = 5.7;      →   Math.ceil(num1);      //6 

 

②Math.floor() : 내림

     let num1 = 5.1;         Math.floor(num1);      //5

     let num2 = 5.7;      →   Math.floor(num1);      //5

 

③Math.round : 반올림

     let num1 = 5.1;         Math.round(num1);      //5

     let num2 = 5.7;      →   Math.round(num1);      //6

 

④소수점 자릿수 

     let userRate = 30.1234;

    요구사항: 소수점 둘째자리 까지 표현(셋째 자리에서 반올림)

    첫번째 방법 : 

    1- userRate * 100 = 3012.34

    2- Math.round( userRate * 100 ) = 3012

    3- Math.round( userRate * 100 )/100 = 30.12

    두번째 방법 :  toFixed()

      userRate.toFixed(2);    →소수점 이하 자리를 인수로 받아 계산        //"30.12"

      userRate.toFixed(0);        //"30"

      userRate.toFixed(6);        //"30.123400"

     ★주의점: toFixed()는 문자열로 반환하므로, Number()를 사용해 숫자열로 변환 후 작업 

        userRate.toFixed(2);        //"30.12"

      → Number(userRate.toFixed(2));        //30.12

  

 ⑤isNaN()  : NaN을 판단하는 유일한 메소드

     let x = Number('x') ;    //NaN

       x == NaN    //false

       x === NaN    //false

      NaN == NaN    //false

     isNaN(x)    //true

     isNaN(3)    //false

 

  ⑥parseInt() : 문자열(문자+숫자ok)을 숫자로 변환

     let margin = '10px';       → parseInt()는 읽을 수 있는 데까지 일고 문자를 만나면 숫자로 반환

     parseInt(margin) ;    //10      

     Number(margin);    //NaN 

 

     let redColor = 'f3'; 

     parseInt(redColor);    //NaN  → 문자로 시작하기 때문에 못 읽어 NaN반환

     But, 두번째 인수를 받아 진수를 지정할 수 있다.

     parseInt(redColor, 16) ;    //243    →두번째 인수에 16을 받아 16진수로 변환

     parseInt('11', 2)      //3   → 11(10진수)을 2진수로 변환

   

  ⑦parseFloat()  : 부등소수점을 반환

      let padding = '18.5%';

      parseInt(padding);    //18

      parseFloat(padding);      //18.5

 

  ⑧Math.random()

   0~1 사이 무작위 숫자 생성

    Math.random()        //0.260278239648124

    Math.random()        //0.896151313153435

  1~100 사이 임의의 숫자를 뽑고 싶다면?

    Math.floor(Math.random() *100) +1  

    

  ⑨Math.max()  / Math.min()

     Math.max(1,4,-1,5,10,9,5.54);   //10

     Math.min(1,4,-1,5,10,9,5.54);    //-1

 

   ⑩Math.abs() :  절대값

     abs = absoulte

     Math.abs(-1)  //1

 

      Math.pow(n,m) : 제곱-n의 m승

       Math.pow(2, 10);     //1024

 

      Math.sqrt() : 제곱근

       Math.sqrt(16)   //4

 

      

      

     

     

 

 

  

 

 

 

     

 

 

반응형