let integerNumber = 10; // 정수
let floatNumber = 3.14; // 소수 (부동소수점 수)
let num1 = 10;
let num2 = 5;
let sum = num1 + num2; // 덧셈: 15
let difference = num1 - num2; // 뺄셈: 5
let product = num1 * num2; // 곱셈: 50
let quotient = num1 / num2; // 나눗셈: 2
parseInt()
문자열을 정수로 변화한다. 첫번째 인수는 변환하려는 문자열이고, 두번째 인수는 어떤 진수 체계로 표현되어있는지 나타낸다. 두번째 인수는 선택적이며 생략 시 10진수로 표현된 것으로 간주한다.
let stringNumber = "42";
let parsedInt = parseInt(stringNumber); // 42 (10진수로 해석됨)
let hexString = "2A";
let parsedHex = parseInt(hexString, 16); // 42 (16진수로 해석됨)
parseFloat
문자열을 부동소숫점 수로 변환한다. 정수 또는 소숫점 이하의 숫자로 이루어진 문자열을 전달 받는다.
let floatString = "3.14";
let parsedFloat = parseFloat(floatString); // 3.14
+) + 연산자를 사용하여 문자열을 숫자로 간단히 변환할 수 있다.
let stringNumber = "42";
let number = +stringNumber; // 42 (정수로 변환됨)
isNaN()
주어진 값이 NaN(Not a Number) 인지 여부를 확인한다. NaN은 숫자가 아님을 나타내는 값이다.
console.log(isNaN(10)); // false
console.log(isNaN("hello")); // true (숫자로 변환할 수 없는 문자열)
console.log(isNaN(NaN)); // true
isFinite()
주어진 값이 유한한 수인지 확인한다. Infinity나 NaN이 아닌 유한한 수를 나타내면 true를 반환한다.
console.log(isFinite(42)); // true
console.log(isFinite(Infinity)); // false
console.log(isFinite(NaN)); // false
isInteger()
주어진 값이 정수인지 여부를 확인한다. 정수일 경우 true를 반환하고 그렇지 않으면 false를 반환한다.
console.log(Number.isInteger(10)); // true
console.log(Number.isInteger(3.14)); // false
isSafeInteger()
주어진 값이 안전한 정수인지 여부를 확인한다. 안전한 정수는 -2^53 에서 2^53까지의 정수를 의미한다. 주어진 값이 안전한 정수 범위 내에 있으면 true를 반환한고, 그렇지 않으면 false를 반환한다.
console.log(Number.isSafeInteger(9007199254740992)); // false (범위를 벗어남)
console.log(Number.isSafeInteger(42)); // true (안전한 정수 범위 내)
toExponential()
숫자를 지수 표기법으로 변환한다. 전달받은 인수는 소숫점 뒤에 표시될 숫자의 개수를 나타낸다.
let number = 12345;
let exponentialForm = number.toExponential(2); // "1.23e+4"
toFixed()
숫자를 고정 소숫점 표기법으로 변환한다. 전달받은 인수는 소숫점 이하에 표시될 숫자의 개수를 나타낸다.
let number = 3.14159;
let fixedForm = number.toFixed(2); // "3.14"
toPrecision()
숫자를 주어진 정밀도로 표현한다.
let number = 123.456789;
let precisionForm = number.toPrecision(4); // "123.5"
toString()
숫자를 문자열로 변환한다. 전달받은 인수는 변환할 진수를 나타낸다. 이는 선택적 파라미터이며, 생략하면 10진수로 변환된다.
let number = 42;
let binaryString = number.toString(2); // "101010" (2진수로 변환됨)
valueOf()
Number 객체의 원시값을 반환한다. Number 객체를 원시값으로 변환하면 해당 숫자가 된다.
let numberObject = new Number(42);
let primitiveValue = numberObject.valueOf(); // 42
메서드 | 설명 |
---|---|
parseInt() | 문자열을 파싱하여, 문자열에 포함된 숫자 부분을 정수 형태로 반환 |
parseFloat() | 문자열을 파싱하여, 문자열에 포함된 숫자 부분을 실수 형태로 반환 |
isNaN() | 전달된 값이 NaN이 아닌지 검사함 |
isFinite() | 전달된 값이 유한한 수인지 아닌지를 검사함 |
isInteger() | 전달된 값이 정수인지 아닌지를 검사함 |
isSafeInteger() | 전달된 값이 안전한 정수인지 아닌지를 검사함 |
toExponential() | 지수 표기법으로 변환 후, 그 값을 문자열로 반환함. |
isFixed() | 소수 부분 자릿수를 전달 받은 값으로 고정한 후 그 값을 문자열로 반환함 |
toPrecision() | 가수와 소수 부분의 합친 자릿수를 전달받은 값으로 고정한 후 그 값을 문자열로 반환함 |
toString() | Number 인스턴스의 값을 문자열로 반환함 |
valueOf() | Number 인스턴스가 가지고 있는 값을 반환함 |
숫자 연산을 위해 자바스크립트에서 제공하는 Math 메서드를 간단히 요약한다.
메서드 | 설명 |
---|---|
Math.min() | 인수로 전달 받은 값 중에서 가장 작은 수로 반환함 |
Math.max() | 인수로 전달 받은 값 중에서 가장 큰 수를 반환함 |
Math.random() | 0보다 크거나 같고 1보다 작은 랜덤 숫자를 반환함 |
Math.round() | 전달 받은 값을 소숫점 첫번째 자리에서 반올림하여 그 결과를 반환함 |
Math.floor() | 소숫점 이하를 버리고 주어진 숫자를 내림하여 반환 |
Math.ceil() | 소숫점 이하를 버리고 주어진 숫자를 올림하여 반환 |
Math.abs() | 전달 받은 수의 절댓값을 반환함 |
Math.sqrt() | 전달 받은 수의 제곱근을 반환함 |
Math.cbrt() | 전달 받은 수의 세제곱근을 반환함 |