Math() 메소드는 number 타입 자료형에 지원되는 내장 함수이다.
많은 메소드들이 있지만 자주 사용하는 몇가지를 정리해보았다.
let num = 1.23456;
Math.floor(num); // 1
Math.ceil(num); // 2
Math.round(num); // 1
위 3가지의 메소드들은 소수점 첫째 자리를 기준으로 어림수를 구한다.
만약 소수점 n번째 자리를 기준으로 구하고 싶다면 어떻게 해야할까?
예를 들어 1.2345가 있는데 소수점 두 번째 자릿수까지은 1.23을 출력하고 싶다.
이때 사용할 수 있는 두가지 방법이 있다.
let num = 2.34567;
Math.floor(num); //2
Math.floor(num*100) / 100; // 2.34
Math.round(num * 100) / 100 // 2.35
toFixed() 메서드는 Math.round()와 유사하게 반올림해주만 문자형으로 반환된다.
📌 사용시 주의할 점!
반환 값이 문자열이기 때문에 소수부의 길이가 인수보다 작으면 끝에 0이 추가된다.
let num = 2.34567;
let toStrNum = num.toFixed(1); // "2.3"
num.toFixed(2); // "2.35"
num.toFixed(7); //"2.3456700"
문자열로 반환된 값을 다시 숫자 형태로 바꾸고 싶다면 Number()나 parseInt()를 써주면된다.
Number(toStrNum); // 2.3
parseInt(toStrNum);
Math.random(); // 0.35972084915762625
Math.random(); // 0.3755807648115823
Math.random(); // 0.7542363374125485
Math.max(3, 5, -10, 0, 6, -1); // 6
Math.min((3, 5, -10, 0, 6, -1); // -10
Math.pow(3,2); // 9 (3의 거듭제곱)
Math.pow(5,4); // 625 (5의 4승)
Math.abs(-10); // 10
Math.abs(10); // 10