본문 바로가기
개발/알고리즘

[Javscript] 알고리즘 풀이에 자주 사용되는 숫자 관련 메서드 정리

by 자몬다 2021. 1. 20.

정확히 말하면 Math, Number객체, 프로퍼티, 메서드가 혼용되어 있지만...

아무튼 자주 활용되는 것들을 정리하고자 한다.

 

수의 범위 관련

javascript에서 다룰 수 있는 수의 범위

-9007199254740991 ~ 9007199254740991

-Math.pow(253) + 1 === Number.MIN_SAFE_INTEGER; // -9007199254740991
Math.pow(253) - 1 === Number.MAX_SAFE_INTEGER; // -9007199254740991

 

BigInt

-2^53이하 2^53이상의 수를 다룰 때 사용 

+, -, *, /, %, ** 연산이 가능하다.

const a = 2n ** 53n// 9007199254740992n
// integer와 혼용해서 연산할 수 없다.
a + 1n // 가능
a + 1 // 불가능

 

최댓값/최솟값 (인자 갯수 유동적)

Math.max(10206); //  20
Math.min(10206); // 6

const arr = [123];
Math.max(...arr); // 3

 

제곱 관련

제곱

Math.pow(23); // 8
2 ** 3 // 8

 

제곱근

Math.sqrt(9); // 3
Math.sqrt(2); // 1.414...

 

절대값

Math.abs(-123); // 123
Math.abs(0.5); // 0.5

 

소수점 관련

반올림 (언제나 정수 반환)

Math.round(20.49); //  20
Math.round(20.5); //  21
Math.round(-20.5); // -20

 

내림 (언제나 정수 반환)

Math.floor(45.05); // 45
Math.floor(4); // 4
Math.floor(-45.05); // -46

 

올림 (언제나 정수 반환)

Math.ceil(0.95); // 1
Math.ceil(4); // 4
Math.ceil(7.004); // 8
Math.ceil(-0.95); // -0

 

소수점 자릿수 지정(자르기)

const num = 1.12345;
num.toFixed(3); // "1.123" string타입임에 유의
num.toFixed(0); // "1"
num.toFixed(7); // "1.1234500"

const b = 1.99;
b.toFixed(1); // "2.0" 반올림 되는것에 유의
b.toFixed(2); // "1.99"
b.toFixed(0) // "2"

728x90

댓글0