JavaScript Number Methods
JavaScript Number Methods: 숫자 조작의 이해와 활용
JavaScript에서 **숫자(Number)**는 데이터 타입의 기본 요소 중 하나이며, 다양한 내장 메서드를 제공합니다. 이 메서드들은 숫자를 조작하고, 계산하고, 변환하는 데 유용합니다. 이 가이드는 JavaScript 숫자 메서드의 종류와 사용법을 자세히 설명합니다.
1. 숫자 메서드 개요
JavaScript의 숫자 메서드는 Number
객체에 속하며, 숫자와 관련된 다양한 작업을 수행할 수 있습니다. 이 메서드들은 원래의 숫자 값을 변경하지 않고 새로운 값을 반환합니다.
2. 주요 숫자 메서드
2.1. Number.isNaN()
주어진 값이 NaN
(Not a Number)인지 확인합니다.
console.log(Number.isNaN(NaN)); // 출력: true
console.log(Number.isNaN(42)); // 출력: false
console.log(Number.isNaN("text")); // 출력: false
2.2. Number.isInteger()
주어진 값이 정수인지 확인합니다.
console.log(Number.isInteger(4)); // 출력: true
console.log(Number.isInteger(4.5)); // 출력: false
console.log(Number.isInteger(-10)); // 출력: true
2.3. Number.isFinite()
주어진 값이 유한한 수인지 확인합니다. 무한대(Infinity
, -Infinity
)와 NaN
을 제외한 모든 수에 대해
true
를 반환합니다.
console.log(Number.isFinite(20)); // 출력: true
console.log(Number.isFinite(NaN)); // 출력: false
console.log(Number.isFinite(Infinity)); // 출력: false
2.4. Number.isSafeInteger()
주어진 값이 안전한 정수인지 확인합니다. 안전한 정수는 -(2^53 - 1)에서 2^53 - 1 사이의 정수를 말합니다.
console.log(Number.isSafeInteger(42)); // 출력: true
console.log(Number.isSafeInteger(2 ** 53)); // 출력: false
console.log(Number.isSafeInteger(2 ** 53 - 1)); // 출력: true
2.5. Number.parseFloat()
문자열을 부동 소수점 숫자로 변환합니다. 문자열이 부동 소수점 형식인 경우 해당 숫자를 반환하고, 그렇지 않으면 NaN
을 반환합니다.
console.log(Number.parseFloat("3.14")); // 출력: 3.14
console.log(Number.parseFloat("42.5abc")); // 출력: 42.5
console.log(Number.parseFloat("abc")); // 출력: NaN
2.6. Number.parseInt()
문자열을 정수로 변환합니다. 두 번째 인자는 진수를 지정할 수 있습니다.
console.log(Number.parseInt("42")); // 출력: 42
console.log(Number.parseInt("1010", 2)); // 출력: 10 (2진수에서 변환)
console.log(Number.parseInt("3.14")); // 출력: 3
2.7. Number.toFixed()
숫자를 고정 소수점 자리수로 표현합니다. 매개변수로 자릿수를 지정하여 소수점 이하의 자릿수를 조정할 수 있습니다.
const pi = 3.14159;
console.log(pi.toFixed(2)); // 출력: "3.14"
console.log(pi.toFixed(4)); // 출력: "3.1416"
2.8. Number.toExponential()
숫자를 지수 표기법으로 변환합니다. 매개변수로 지수 자릿수를 지정할 수 있습니다.
const num = 12345;
console.log(num.toExponential(2)); // 출력: "1.23e+4"
console.log(num.toExponential(5)); // 출력: "1.23450e+4"
2.9. Number.toString()
숫자를 문자열로 변환합니다. 진수를 지정할 수 있습니다.
const num = 255;
console.log(num.toString()); // 출력: "255"
console.log(num.toString(16)); // 출력: "ff" (16진수)
console.log(num.toString(2)); // 출력: "11111111" (2진수)
3. 숫자 형 변환
JavaScript는 숫자를 다른 데이터 타입으로 변환할 수 있는 방법을 제공합니다.
3.1. 숫자에서 문자열로 변환
toString()
메서드: 숫자를 문자열로 변환합니다.- 문자열 연결: 숫자에 빈 문자열을 추가하여 변환할 수 있습니다.
const num = 42;
console.log(num.toString()); // 출력: "42"
console.log(num + ""); // 출력: "42"
3.2. 문자열에서 숫자로 변환
Number()
: 문자열을 숫자로 변환합니다.parseFloat()
: 문자열을 부동 소수점 숫자로 변환합니다.parseInt()
: 문자열을 정수로 변환합니다.
const str1 = "42";
const str2 = "3.14";
console.log(Number(str1)); // 출력: 42
console.log(parseFloat(str2)); // 출력: 3.14
console.log(parseInt(str2)); // 출력: 3
4. 주의사항
- 정밀도 문제: JavaScript의
Number
는 IEEE 754 표준의 부동 소수점 형식을 사용하므로, 특정 숫자 계산에서 정밀도 문제를 야기할 수 있습니다.
console.log(0.1 + 0.2); // 출력: 0.30000000000000004
- NaN과 Infinity: 계산 결과가
NaN
또는Infinity
일 수 있으므로, 이를 처리하는 방법을 알아야 합니다.
console.log(1 / 0); // 출력: Infinity
console.log(0 / 0); // 출력: NaN
요약
- 숫자 메서드: JavaScript는 숫자를 조작할 수 있는 다양한 내장 메서드를 제공합니다. 주요 메서드로는
isNaN()
,isInteger()
,parseFloat()
,toFixed()
,toString()
등이 있습니다. - 형 변환: 숫자를 문자열로 변환하거나 문자열을 숫자로 변환하는 방법이 있습니다.
- 정밀도 문제: 부동 소수점 연산에서 발생할 수 있는 정밀도 문제에 주의해야 합니다.
JavaScript의 숫자 메서드를 효과적으로 이해하고 활용하면, 수학적 연산 및 데이터 처리를 보다 간편하게 수행할 수 있습니다.