#5. Number, Math

smiletmf·2022년 7월 5일
0

javascript grammar

목록 보기
5/20
post-thumbnail

toString()

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

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
profile
성장하는 개발자 유슬이 입니다!

0개의 댓글