[JavaScript] Number, Math
toString() : 숫자를 문자로
let num = 10;
num.toString(); // "10"
num.toString(2); // "1010"
숫자형 변수에 toString()이라는 메서드를 사용하면 그 변수를 문자형으로 변환하여 반환해줍니다. 이때, 원본 자료형은 유지합니다.
또한, 매개변수로 숫자를 인자로 넣으면 그 진수로 변환하는 것입니다. 2진수, 16진수 등으로 사용 가능합니다.
Math
1. Math.PI : 원주율 반환
2. Math.ceil() : 올림
부동소수점 자료형에서 값을 올리기 위해 사용합니다.
Math.ceil(5.7); // 6
3. Math.floor() : 내림
부동소수점 자료형에서 값을 내리기 위해 사용합니다.
Math.floor(5.3); // 5
4. Math.round() : 반올림
부동소수점 자료형에서 값을 반올림 하기 위해 사용합니다.
Math.round(5.2); // 5
Math.round(5.7); // 6
소수점 자릿수
1. 연산
소수점 자릿수를 살리면서 소수를 처리해야 할 경우가 있습니다. 그러면 아래와 같은 방법을 사용합니다.
let num = 3.141592;
Math.round(num * 1000); // 3141
Math.round(num * 1000) / 100; // 31.41
2. toFixed() 사용 (반올림)
숫자를 인수로 받아서 그 숫자만큼 소수점 이하만큼 반영합니다.
let num = 3.141592;
num.toFixed(2); // "3.14"
num.toFixed(0); // "3"
num.toFixed(8); // "3.14159200"
주의할 점은 문자열을 반환한다는 사실입니다. 그렇기 때문에 Number를 사용하여 숫자로 변환하여 사용합니다.
let num = 3.141592
Number(num.toFixed(2)); // 3.14
isNaN() : NaN인지 확인
NaN을 일치 연산자로 확인하면 서로 같은 NaN인 경우에도 false를 반환합니다. 그래서 내가 NaN인지 확인하고 싶은 값이 있다면, isNaN() 을 사용합니다.
let x = Number('x'); // NaN
x === NaN // false
NaN === NaN // false
isNaN(x) // true
parseInt() : 문자열에서 숫자를 찾아 반환
문자열에서 숫자형 자료를 찾아서 그 값을 숫자형으로 반환합니다.
let margin = '10px';
parseInt(margin); // 10
Number(margin); // NaN
이때, 숫자로 시작하지 않으면 NaN을 반환합니다. 그리고 여러 개의 숫자가 있어도 처음에 발견한 숫자만을 반환합니다.
let strNum = 'f3';
parseInt(strNum); // NaM
let strNum = '10px100px1000px';
parseInt(strNum); // 10
또한, 매개변수를 두 개 사용하여, 두 번째 자리에 숫자를 인자로 넣으면 그 숫자를 진법 수로 하여 문자열에서 값을 찾아냅니다.
let redColor = 'f3';
parseInt(redColor, 16); // 243
parseInt("11", 2) // 3
parseFloat() : 소수점을 찾아 반환
위와 비슷하지만 소수점을 찾아 반환합니다.
let width = '25.5%';
parseInt(width); // 25
parseFloat(width); // 25.5
Math.random() : 랜덤 숫자를 생성
기본적으로 범위는 0~1까지의 임의의 숫자를 반환합니다.
그래서 1~100까지의 숫자를 뽑아내고 싶다면,
Math.floor(Math.random() * 100) + 1
버림을 했을 때, 0이 나올 수 있어서 1을 더해줍니다.
Math.max(), Math.min() : 최댓값, 최솟값을 반환
인자에 있는 값들 중 최댓값 혹은 최솟값을 반환합니다.
Math.abs() : 절대값 반환
절대값을 구해 반환해줍니다.
Math.pow(n, m) : 제곱
n의 m 제곱의 값을 반환합니다.
Math.sqrt() : 제곱근
인자의 제곱근을 찾아줍니다.