자바스크립트 수치 활용

(2022-09-23)

parseInt(), toFixed(), Number 객체 , Math 객체


1. 자바스크립트 숫자형 데이터타입

  ㅇ 타 프로그래밍 언어에서는, 여러 숫자 데이터타입을 지원하지 만,
     - 자바스크립트는, 단순성을 위해 숫자형에 하나의 데이터타입 만 가능 함

  ㅇ 즉, IEEE 754 배정도 (64 비트) 부동소수점 만 지원 함
     - 내부적으로, 8 바이트 (64 비트) 부동소수점으로써 저장/처리 됨
        . 부호 (1비트), 지수 부분 (11비트), 가수 부분 (52비트)


2. 자바스크립트 숫자 표현정수 숫자 표현 (4가지)
     - 10진수 : 123
     - 16진수 : 0x123 (숫자 앞에 0x를 붙임)
     - 8진수  : 0o123 (숫자 앞에 0o를 붙임)
     - 2진수  : 0b101 (숫자 앞에 0b를 붙임)

  ㅇ 실수 숫자 표현 (10진수에 한 함)
     - 고정소수점 표현 : 0.123   (정수부가 0일때는 0 생략 가능)
     - 부동소수점 표현 : 1.02e123 또는 1.02E123 (1.02x1023)

  ㅇ 특별한 숫자 표현
     - Infinity    : +∞                  (전역변수)
     - NaN         : Not a Number, 부정 값  (전역변수)


3. 자바스크립트 Number 객체프로퍼티

  ㅇ Number.POSITIVE_INFINTY : +∞
  ㅇ Number.NEGATIVE_INFINTY : -∞
  ㅇ Number.MAX_VALUE        : 표현 가능 최대값
  ㅇ Number.MIN_VALUE        : 표현 가능 최소값
  ㅇ Number.NaN              : Not a Number,부정 값
  ㅇ Number​.EPSILON
  ㅇ Number​.MAX_SAFE_INTEGER : 가능한 최대 정수값 (1.7976931348623157e+308) (무한대)
  ㅇ Number​.MIN_SAFE_INTEGER : 가능한 최소 정수값 (5e-324)


4. 자바스크립트 Number 객체메소드

  ㅇ (많이 쓰이는 메소드)
     - Number.isNaN(), Number.isFinite(), Number.isInteger()
     - Number.isSafeInteger()

  ㅇ 문자열을 수치로 변환
     - parseInt();      // 문자열정수 변환
        . parseInt(num);  // 정수 만 추출. 한편, 나눗셈일 경우, 몫 임
        . parseInt(num,base);  // base로 지정된 진법으로, 10진수 정수 변환
     - parseFloat();    // 소수점,지수 표현까지 포함한 문자열을 수치 변환
     - Number();        // Number() 함수에 의한 수치 변환

  ㅇ 정수 근사 변환
     - toFixed();       // 소수점 이하 지정된 자릿수로 반올림
        . 例) const x=19.51; x.toFixed(3) => 19.510  x.toFixed(0) => 20
     - toPrecision();   // 수치 전체를 지정된 유효자리수가 되도록 반올림
        . 例) let x=1000; x.toPrecision(5) => 1000.0  x.toPrecision(4) => 1000
                          x.toPrecision(3) => 1.00e+3  x.toPrecision(2) => 1.0e+3
                          x.toPrecision(1) => 1e+3

     - ceil();          // 천장 함수
     - floor();         // 마루 함수
     - round();         // 반올림

  ㅇ 정수 진법 변환
     - toString();      // 지정한 기수법(진법 체계,2부터 36까지 가능)에 의한 문자열로 변환
        . 例) numObject.toString(2) => 2진수, numObject.toString(16) => 16진수 등

  ㅇ 지수 변환
     - toExponential(); // 매개변수에 따라 소수점 뒤 숫자로써 반올림
        . 例) const x=3800.5; x.toExponential(4) => 3.8005e+3 
                              x.toExponential(3) => 3.801e+3  x.toExponential(0) => 4e+3

  ㅇ 기타 기초
     - pow(base,p);     // 거듭제곱(basep)
     - random();        // 0~1 사이의 난수를 반환

  ㅇ 판단
     - isFinite();      // 유한값 여부 판단
     - isInteger;       // 정수 여부 판단
     - isNaN();         // 수치인지 아닌지 판단


5. 자바스크립트 Math 객체프로퍼티

  ㅇ Math.E       : 자연로그밑 수 (자연상수)
  ㅇ Math.LN2     : 2의 자연로그
  ㅇ Math.LN10    : 10의 자연로그
  ㅇ Math.LOG2E   : 2를 밑수로 한 상용로그 e의 값
  ㅇ Math.LOG10E  : 10을 밑수로 한 상용로그 e의 값
  ㅇ Math.PI      : 원주율 (π)
  ㅇ Math.SQRT1_2 : 1/2의 제곱근
  ㅇ Math.SQRT2   : 2의 제곱근


6. 자바스크립트 Math 객체메소드

  ㅇ 기초
     - Math.abs(x)   : |x| (x의 절대값)
     - Math.ceil(x)  : x의 천장함수
     - Math.floor(x) : x의 마루함수
     - Math.trunc(x) : x의 정수부
     - Math.round(x) : x의 반올림
     - Math.min(x,y,...) : 제일 작은 값
     - Math.max(x,y,...) : 제일 큰 값

  ㅇ 지수,거듭제곱,제곱근 등
     - Math.exp(x)   : ex (e의 x 거듭제곱)
     - Math.expm1(x) : ex-1 (e의 x 거듭제곱에서 1을 뺀 값)
     - Math.pow(x,y) : xy
     - Math.sqrt(x)  : √x (x의 제곱근), Math.pow(x,0.5)와 같음
     - Math.cbrt(x)  : x1/3 (x의 세제곱근)
     - Math.hypot(x,y,...) : 인수들의 제곱 합의 제곱근

  ㅇ 삼각함수
     - Math.sin(x)  : sin(x) (x의 사인, 매개변수 x에 라디안 대입해야 함)
     - Math.cos(x)  : cos(x) (x의 코사인, 매개변수 x에 라디안 대입해야 함)
     - Math.tan(x)  : tan(x) (x의 탄젠트, 매개변수 x에 라디안 대입해야 함)

  ㅇ 삼각함수역함수
     - Math.asin(x)  : arcsin(x) (x의 아크 사인, 결과가 라디안)
     - Math.acos(x)  : arccos(x) (x의 아크 코사인, 결과가 라디안)
     - Math.atan(x)  : arctan(x) (x의 아크 탄젠트, 결과가 라디안)
     - Math.atan2(y,x) : x축에서 점(x,y)까지의 시계 반대방향 각도라디안으로 나타낸 값

  ㅇ 쌍곡선함수
     - Math.sinh(x)  : sinh(x) (x의 하이퍼볼릭 사인, 매개변수 x에 라디안 대입해야 함)
     - Math.cosh(x)  : cosh(x) (x의 하이퍼볼릭 코사인, 매개변수 x에 라디안 대입해야 함)
     - Math.tanh(x)  : tanh(x) (x의 하이퍼볼릭 탄젠트, 매개변수 x에 라디안 대입해야 함)

  ㅇ 쌍곡선함수역함수
     - Math.asinh(x) : arcsinh(x) (x의 하이퍼볼릭 아크 사인, 결과가 라디안)
     - Math.acosh(x) : arccosh(x) (x의 하이퍼볼릭 아크 코사인, 결과가 라디안)
     - Math.atanh(x) : arctanh(x) (x의 하이퍼볼릭 아크 탄젠트, 결과가 라디안)

  ㅇ 로그
     - Math.log(x)   : ln(x) (x의 자연로그)
     - Math.log2(x)  : log2(x) (x의 밑수가 2인 상용로그)
     - Math.log10(x)  : log10(x) (x의 밑수가 10인 상용로그)
     - Math.log1p(x)  : log(x+1)

JS 활용
   1. JS 활용   2. JS 문자열 활용   3. JS 수치 활용   4. JS 정규표현식   5. JS 웹 출력   6. 문자열 템플릿  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"