JS/Javascript

[Javascript] 숫자 관련 메서드

ui-o 2024. 1. 16. 14:40
반응형

숫자 표현

  • 자바스크립트의 기본 데이터 타입 중 하나로 정수와 소수를 사용하며, 타입은 Number
  • 16진수, 10진수, 8진수, 2진수의 표현이 가능
  • 최대 표현 범위가 정해져 있다
  • MIN_SAFE_INTEGER  ~ MAX_SAFE_INTEGER를 벗어난 값은 계산 결과에 오차가 발생'

 

정수 결과 설명
Number.MAX_VALUE 1.7976931348623157e+308 최대 정수 값
Number.MIN_VALUE 5e-324 최소 정수 값
Number.MAX_SAFE_INTEGER 9007199254740991 다룰 수 있는 최대 정수값
Number.MIN_SAFE_INTEGER -9007199254740991 다룰 수 있는 최소 정수값

 


 부정확한 결과로 반환 되는  수

  • 계산 시 부적절한 결과로 반환되는 특별한 값이 존재
정수 결과 설명
NaN NaN  숫자가 아닌 값이나 부정확한 계산결과
Number.POSITIVE_INFINITY infinity  양이 무한값
Number.NEGATIVE_INFINITY infinity   음의 무한값

수 어림 계산

메서드 설명
Math.round(값) 반올림  
Math.floor(값)
~~값
버림 (값 이하 최대 정수값 반환)  Math.floor(-7.5) // -8
Math.ceil(값) 올림 (값 이상 최소 정수 반환) Math.ceil(-7.5)  // -7
Math.trunc(값) 정수 부분만을 반환  

임의 수

  • 임의의 확률을 활용하거나 애니메이션에 임의값을 부여하여 활용 가능
메서드 설명
Math.random() 부동 소수점의 유사난수 반환 (0~1)

source

// 0 ~ 1 수 반환
Math.random()
// 0 ~ 100 정수 반환
Math.floor(Math.random()*100)
// 10 ~ 20 정수 반환
10 + Math.floor(Math.random() * 10)

안전한 난수 사용

  • 비밀번호와 같이 보안이 강화된 문자열을 생성할 시 crypto.getRandomValues메서드를 사용
  • 인수에 타입 지정 배열과 값을 전달하면 값의 난수 배열을 생성함
메서드 반환 설명
crypto.getRandomValues(타입지정배열) 배열 난수의 배열 반환

source

const random = crypto.getRandomValues(new Uint16Array(10))
let res = random.join('')
console.log(res); // 4923133590404124307110251442196092571196499725498

소수점 자리수 지정

메서드 반환 설명
숫자.toFixed([자리수]) 문자 소수점 이하 자리수를 지정한 값을 반환

- 자리수가 줄어들 경우 근사치값을 반환
- 자리수가 늘어날 경우 0으로 채워 반환
숫자.toPrecision([자리수]) 문자 값을 지정한 자리수의 정밀도로 반환

 

(12.235).toFixed(2); // ⇒ 12.23
(123.456).toFixed(1); //⇒ 123.5
(1.3).toFixed(4); // ⇒ 1.3000
(1234.56).toPrecision(3); // ⇒ 123
(0.3333).toPrecision(2); // ⇒ 0.33

 

숫자 계산 메서드

메서드 설명 예시
Math.abs(값) 절대값  
Math.pow(값1, 값2) 값1의 값2승계산 Math.pow(2,3) // 8
Math.sign(값) 값의 부호 계산 (음수-1, 양수 1, 0) Math.sign(-2) // -1
Math.sqrt(값) 제곱근 Math.sqrt(16) // 4
Math.exp(값) 지수 함수  
Math.log(값) 지연 로그 계산  
Math.E 지연 로그 반환 Math.log(Math.E) // 지연로그 e는1
Math.PI 원주율   
Math.cos(값) 코사인  
Math.sin(값) 사인  
Math.tan(값) 탄젠트  
Math.acos(값) 코사인 역함수  
Math.asin(값) 사인 역함수  
Math.atan(값) 탄젠트 역함수  
Math.atan2(y좌표, x좌표) (x,y) 좌표가 이루는 각도  

 

반응형