[mjt] 자바스크립트 숫자형 메서드에 대해 알아보자
자바스크립트 숫자형 메서드에 대해 알아보자
JavaScript의 숫자형(Number)은 다양한 메서드를 제공한다. 이 메서드들은 숫자를 다루고 변환하거나 특정한 숫자 값을 확인하는 데 유용하며, 자바스크립트 숫자형 메서드의 사용법과 주의할 점을 알아보자
숫자형 메서드의 종류
1-1) 소숫점 이하 자릿수 고정 메서드 toFixed()
숫자를 소수점 이하 자릿수로 고정하여 문자열로 변환한다.
const num = 3.14159;
console.log(num.toFixed(2)); // "3.14"
console.log(num.toFixed(0)); // "3"
// 주의사항: 결과는 문자열로 반환되기에 계산에 사용하려면 숫자로 변환해야한다.
const rounded = Number(num.toFixed(2));
console.log(rounded); // 3.14
1-2) NaN 확인하는 메서드 isNaN()
값이 NaN
인지 확인할 때 사용하는 메서드로, 전역 함수 isNaN()
과는 다르다.
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN("abc")); // false
console.log(Number.isNaN(123)); // false
- 전역함수
isNaN()
은 암시적으로 변환을 수행한다. -
Number.isNaN()
은 엄격한 확인을 한다.
console.log(isNaN("abc")); // true
console.log(Number.isNaN("abc")); // abc
1-3) 유한한 숫자를 확인하는 메서드 isFinite()
값이 유한한 숫자인지 확인하는 메서드다.
console.log(Number.isFinite(123)); // true
console.log(Number.isFinite(Infinity)); // false
console.log(Number.isFinite("abc")); // false
1-4) 문자열을 정수로 변환 parseInt()
문자열을 정수로 변환한다.
// parseInt()
console.log(Number.parseInt("42px")); // 42
console.log(Number.parseInt("0xFF", 16)); // 255 (16진수)
어림수를 구하기
2-1) Math.round()
숫자를 가장 가까운 정수로 반올림한다.
console.log(Math.round(4.5)); // 5
console.log(Math.round(4.4)); // 4
console.log(Math.round(-4.5)); // -4
2-2) Math.ceil()
숫자를 올림하여 더 큰 정수로 반환한다.
console.log(Math.ceil(4.1)); // 5
console.log(Math.ceil(-4.1)); // -4
console.log(Math.ceil(4.9)); // 5
2-3) Math.floor()
숫자를 내림하여 더 작은 정수로 반환한다.
console.log(Math.floor(4.9)); // 4
console.log(Math.floor(-4.9)); // -5
console.log(Math.floor(4.1)); // 4
2-4) Math.trunc()
소수점 이하를 버리고 정수 부분만 반환한다. (내림과 비슷하지만, 음수에서 작동 방식이 다름)
console.log(Math.trunc(4.9)); // 4
console.log(Math.trunc(-4.9)); // -4
console.log(Math.trunc(4.1)); // 4
2-5) 차이점
메서드 | 설명 | 예시 (입력: 4.7, -4.7) |
---|---|---|
Math.round() |
가장 가까운 정수로 반올림 | 5, -5 |
Math.ceil() |
올림하여 큰 정수로 변환 | 5, -4 |
Math.floor() |
내림하여 작은 정수로 변환 | 4, -5 |
Math.trunc() |
소수점 이하를 버리고 정수만 반환 | 4, -4 |