728x90
반응형
toString()
10진수 -> 2진수/16진수
let num = 10;
num.toString(); // "10"
num.toString(2); // "1010"
let num2 = 255;
num2.toString(16); // "ff"
괄호 안에 숫자를 쓰면 그 숫자의 진법으로 변환한다.
Math
자바스크립트에는 수학과 관련된 프로퍼티와 메소드들을 가지고 있는 Math라는 내장객체가 있다.
대표적인 프로퍼티의 예로 Math.PI;를 입력하면 원주율을 구해준다.
Math.ceil() : 올림
let num1 = 5.1;
let num2 = 5.7;
Math.ceil(num1); // 6
Math.ceil(num2); // 6
Math.floor() : 내림
let num1 = 5.1;
let num2 = 5.7;
Math.floor(num1); // 5
Math.floor(num2); // 5
Math.round() : 반올림
let num1 = 5.1;
let num2 = 5.7;
Math.round(num1); // 5
Math.round(num2); // 6
Math.random() : 0~1 사이 무작위 숫자 생성
0~100 사이 임의의 숫자를 뽑고 싶다면?
Math.floor(Math.random()*100)+1
Math.abs() : 절대값
Math.abs(-1) // 1
Math.pow(n, m) : 제곱
Math.pow(2, 10); // 1024
Math.sqrt() : 제곱근
Math.sqrt(16); // 4
Math.max() / Math.min()
Math.max(1, 4, -1, 5, 10, 9, 5.54); // 10
Math.min(1, 4, -1, 5, 10, 9, 5.54); // -1
소수점 자릿수
let userRate = 30.1234;
요구사항 : 소수점 둘째자리까지 표현 (셋째 자리에서 반올림)
100을 곱하고 반올림을 한 뒤 100으로 나누면 소수점 둘째자리까지 표현된다.
또는 toFixed() 메소드를 사용한다.
Math.round(userRate*100)/100 // 30.12
userRate.toFixed(2); // "30.12"
0일 때는 소수부 개수가 0이니 정수부만 남는다. 소수부 개수보다 큰 숫자를 넣으면 0으로 채워준다.
userRate.toFixed(0); // "30"
userRate.toFixed(6); // "30.123400"
* 주의할 점
toFixed는 문자열을 반환한다. 반환받은 이후 Number을 통해 숫자로 변환 후 작업하는 경우가 많다.
userRate.toFixed(2); // "30.12"
Number(userRate.toFixed(2)); // 30.12
isNaN()
let x = Number('x'); // NaN
x == NaN // false
x === NaN // false
NaN == NaN // false
isNaN(x) // true
isNaN(3) // false
NaN은 신기하게도 자기 자신과도 똑같지 않다고 판단한다. x가 NaN인지 아닌지 판단하는 방법은 isNaN이 유일하다.
parseInt()
읽을 수 있는 부분까지 읽고 문자를 만나면 숫자로 반환
let margin = '10px';
parseInt(margin) // 10
Number(margin); // NaN
let redColor = 'f3';
parseInt(redColor); // NaN
두 번째 인자로 숫자를 받아서 진수를 지정할 수 있다.
let redColor = 'f3';
parseInt(redColor, 16); // 243
parseInt('11', 2); // 3
parseFloat()
let padding = '18.5%';
parseInt(padding); // 18
parseFloat(padding); // 18.5
728x90
반응형
'Language > Javascript' 카테고리의 다른 글
[Javascript] 배열(Array), 배열 메소드(Array methods) (0) | 2021.12.19 |
---|---|
[Javascript] 문자열 메소드(String methods) (0) | 2021.12.18 |
[Javascript] 심볼(Symbol) (0) | 2021.12.17 |
[Javascript] 계산된 프로퍼티(Computed property), 객체 메소드(Object methods) (0) | 2021.11.16 |
[Javascript] 생성자 함수 (0) | 2021.11.15 |