자바스크립트 수치 활용

(2019-03-25)
1. 자바스크립트 숫자형 데이터타입자바스크립트 언어는, 숫자형 데이터타입이 하나 뿐으로,
     - IEEE 754 배정도(64 비트) 부동소수점 만 지원 함
        . 즉, 내부적으로, 8 바이트 (64 비트 부동소수점) 로써 저장/처리 됨

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


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,부정 값  (전역변수)

     - Number.POSITIVE_INFINTY : +∞                   (Number 객체프로퍼티)
     - Number.NEGATIVE_INFINTY : -∞                   (Number 객체프로퍼티)
     - Number.MAX_VALUE        : 표현 가능 최대값      (Number 객체프로퍼티)
     - Number.MIN_VALUE        : 표현 가능 최소값      (Number 객체프로퍼티)
     - Number.NaN              : Not a Number,부정 값  (Number 객체프로퍼티)


3. 자바스크립트 수치 다루기문자열을 수치로 변환
     - parseInt();      // 문자열을 정수 변환
        . 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();         // 수치인지 아닌지 판단


4. Math 객체

  ㅇ 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의 제곱근

  ㅇ 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 정규표현식
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
              1. JavaScript
              2. 기초 문법
          1.   JS 변수,타입
          2.   JS 연산자
          3.   JS 함수
          4.   JS 객체
          5.   JS 배열
          6.   JS 활용
            1.   1. JS 활용
                2. JS 문자열 활용
                3. JS 수치 활용
                4. JS 정규표현식
          7.   JS 웹문서 제어
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌