10진수 → 2진수/16진수
let num = 10;
const result = num.toString();
console.log(result); // 10
const result2 = num.toString(2); // 2진수로 변환
console.log(result2); // 1010
let num2 = 255;
const result3 = num2.toString(16); // 16진수로 변환
console.log(result3); // ff
Math.PI;
console.log(Math.PI); // 3.141592653589793
Math.ceil(); // 올림
let num1 = 5.1;
const result = Math.ceil(num1);
console.log(result); // 6
let num2 = 5.7;
const result2 = Math.ceil(num2);
console.log(result2); // 6
Math.floor(); // 내림
let num1 = 5.1;
const result = Math.floor(num1);
console.log(result); // 5
let num2 = 5.7;
const result2 = Math.floor(num2);
console.log(result2); // 5
Math.round(); // 반올림
let num1 = 5.1;
const result = Math.round(num1);
console.log(result); // 5
let num2 = 5.7;
const result2 = Math.round(num2);
console.log(result2); // 6
---------------------------------------
let userRate = 30.1234;
// 소수점 둘째자리까지 표현 (셋째자리에서 반올림)
Math.round(userRate * 100)/100; // 30.12
// userRate * 100 -> 3012.34
// Math.round(userRate * 100) -> 3012
// Math.round(userRate * 100)/100 -> 30.12
toFixed(); // 소수점 자리수
const result = userRate.toFixed(2); // 소수점 아래 두 자리
console.log(result); // "30.12"
const result = userRate.toFixed(0);
console.log(result); // "30"
const result = userRate.toFixed(6);
console.log(result); // "30.123400"
// 주의사항 toFiexd()는 문자로 반환함
// 숫자로 변환해주어야 함
const result = Number(userRate.toFixed(2));
console.log(result); // 30.12
---------------------------------------
// isNAN()
// 숫자가 아닌가?
let x = Number('x');
console.log(x); // NaN
console.log(x==NaN); // false
console.log(x===NaN); // false
console.log(NaN==NaN); // false
console.log(NaN===NaN); // false
const result = isNaN(x);
console.log(result); // true
const result2 = isNaN(3);
console.log(result2); // false
// parseInt()
// 문자열을 숫자로 변환
let margin = '10px';
const result = parseInt(margin);
console.log(result); // 10
console.log(Number(margin)); // NaN
let redColor = 'f3';
console.log(parseInt(redColor)); // NaN, 문자로 시작되면 NaN
console.log(parseInt(redColor, 16)); // 243, 두번째 인수로 16진수 전달 16진수 -> 10진수
console.log(parseInt('11', 2)); // 3, 11을 숫자로 바꾼 후, 2진수 -> 10진수
// parseFloat()
// 문자열을 숫자로 변환, 소수점아래까지
let padding = '18.5%';
console.log(parseInt(padding)); // 18
console.log(parseFloat(padding)); // 18.5
// Math.random()
// 0~1 사이 무작위 숫자 생성
console.log(Math.random()); // 0.5862365737879891
console.log(Math.random()); // 0.6331840191114426
// 1~100 사이의 임의의 숫자를 뽑고 싶다면?
const result = Math.floor(Math.random()*100)+1;
console.log(result); // 88
// Math.max(), Math.min()
// 최대값, 최소값
const max = Math.max(1, 4, -1, 5, 10, 9, 5.54);
console.log(max); // 10
const min = Math.min(1, 4, -1, 5, 10, 9, 5.54);
console.log(min); // -1
// Math.abs()
// 절대값(absolute)
const num = Math.abs(-1);
console.log(num); // 1
// Math.sqrt()
// 제곱근
const num = Math.sqrt(16);
console.log(num); // 4