자바스크립트 Math

2018-03-05

자바스크립트의 숫자는 모두 IEEE 754 64비트 부동소수점 숫자이다. 자바스크립트는 복잡한 숫자나 아주 큰 숫자는 지원하지 못한다. 전문적인 수식 구조나 알고리즘이 필요하다면 Math.js를 사용하라.

1. 숫자 형식

  • 자바스크립트의 숫자 형식 메서드는 숫자가 아니라 문자열을 반환한다.
  • 따라서 숫자 형식을 바꾸는 것은 실제로 표시하기 직전에 수행해야 하며, 숫자를 저장하거나 계산할 때는 따로 형식을 지정하지 않은 숫자 타입이어야 한다.

1-1. 고정 소수점

소수점 뒤 자릿수를 지정하려면 toFixed()를 사용. toFixed()는 버림이 아니라 반올림이다.
toFixed() 예제

1-2. 지수 표기법

toExponential()을 사용한다. 반올림한 결과가 출력됨
toExponential() 예제

1-3. 유효 자릿수

toPrecision()을 사용하여 숫자 개수를 제한한다.
toPrecision() 예제

1-4. 다른 진수

2진수나 8진수, 16진수 표현을 원한다면 toString()에 기수를 매개변수로 쓰면 된다.
toString() 예제

1-5. 고급 숫자 형식

수천 자리의 아주 큰 숫자, 괄호를 쓰거나 음수 표현을 해야하는 경우, 공학 표기법 등과 같은 경우에는 Numberal.js 라이브러리를 추천한다


2. 상수

Math 객체에는 몇가지 중요한 상수가 내장되어 있다. 자세한 내용은 Mozilla - Math객체 Properties 를 참고하라

3. 대수 함수

3-1. 거듭 제곱

3-2. 로그함수

  • Math.log(x) : 숫자의 자연 로그를 반환
  • Math.log10(x) : 주어진 숫자는 log10(숫자)로 계산한다. 만약 숫자가 음수라면 NaN를 반환
  • Math.log2(x) : 주어진 숫자는 log2(숫자)로 계산한다. 만약 숫자가 음수라면 NaN를 반환

3-3. 기타함수