5. 숫자, 수학 method

조뮁·2022년 7월 14일
0

JS중급

목록 보기
5/18
post-thumbnail

toString()

  • 숫자를 문자로 변환
  • ()안에 숫자를 입력하면 해당 숫자의 진법로 변환
let num = 10;
console.log(num.toString());
console.log(num.toString(2));
//"10"
//"1010"

let num2 = 255;
console.log(num2.toString(16));
// "ff"

Math

  • 수학과 관련된 프로퍼티와 메소드를 가지고 있음

Math.ceil() : 올림

let num1 = 5.1;
let num1 = 5.7;

console.log(Math.ceil(num1));
console.log(Math.ceil(num2));
// 6
// 6

Math.floor() : 내림

let num1 = 5.1;
let num1 = 5.7;

console.log(Math.floor(num1));
console.log(Math.floor(num2));
// 5
// 5

Math.round() : 반올림

let num1 = 5.1;
let num1 = 5.7;

console.log(Math.floor(num1));
console.log(Math.floor(num2));
// 5
// 6

toFixed(n) : 반올림하여 소수점 n번째 자리까지 표시

  • 소수점 둘째자리까지 표시 (셋째 자리에서 반올림)
    (1) num에 100곱한후 반올림하고 다시 100으로 나눔
    (2) Math.toFixed() 사용
let num3 = 12.6456;
let roundNum = Math.round(num3 * 100)/100;
console.log(roundNum);
// 12.65

// toFixed(표시할 자리수)
let roundNum2 = num3.toFixed(2);
console.log(roundNum2);  // 둘째자리까지 표시
// "12.65"
console.log(num3.toFixed(0)); // 소수점 표시 안함
// "13"
console.log(num3.toFixed(7)); // 소수점 7자리까지 표시
// "12.6456000"


// 이 때, toFixed는 문자형으로 반환함
console.log(typeof(roundNum),typeof(roundNum2));
// "number" "string"

isNaN() : NaN 여부 판단

  • NaN은 NaN과도 같지 않다고 판단되기 때문에, x가 NaN인지 판단하려면 isNaN()을 사용해야함.
let x = Number('x');  // NaN

console.log(x == NaN);  // false
console.log(x === NaN);  // false
console.log(NaN == NaN);  // false
console.log(NaN === NaN);  // false

console.log(isNaN(x));  // true
console.log(isNaN(isNaN));  // true

parseInt() : 문자열을 숫자로 변환

  • Number()와 차이점 : 문자와 혼용되어 있어도 동작함. parseInt()는 숫자만 골라서 반환 (문자가 나오기 직전까지만)
  • 문자형으로 시작하면 NaN 반환
  • 두 번째 인수로 숫자를 받아 해당 진법으로 반환할 수 있음
  • 소수점 이하는 무시하고 정수만 반환
let margin = '10px';
let txt= '10가나다라234ㅏ';
let txt2= 'asdf1234';
console.log(parseInt(margin));  // 10
console.log(parseInt(txt));  // 10
console.log(parseInt(txt2));  // NaN

let red = 'ff';
console.log(parseInt(red));  // NaN
console.log(parseInt(red, 2));  // NaN
console.log(parseInt(red, 16));  // 255

let num = '11';
console.log(parseInt(num));  // 11
console.log(parseInt(num, 2));  // 3

parseFloat() : 부동 소수점 반환

  • parseInt()와 동일하게 동작하지만 소수점까지 반환
let padding = '18.5px';

console.log(parseInt(padding));  // 18
console.log(parseFloat(padding));  // 18.5

Math.random() : 0~1 사이 무작위 숫자 생성

  • 1~100 사이의 임의의 수 : Math.floor(Math.random()*100) + 1;
    • Math.raandom()에 뽑고싶은 숫자의 개수만큼 곱해줌 (ex. 10개를 뽑고싶으면 Math.random() * 10)
    • 뽑고싶은 최소 숫자를 더해줌 (랜덤숫자가 0.0xxx가 나올 수 있기 때문에 마지막에 1을 더해주기. 버림을 했을 때 0이 나올 수도 있기 때문)

Math.max(), Math.min()

  • 괄호 안의 숫자 중 최대/최소값 반환

Math.abs() : 절대값 반환

let num = -1;
console.log(Math.abs(num));  // 1

Math.pow(n, m) : n의 m제곱값 반환

console.log(Math.pow(2,3));  // 8
console.log(Math.pow(3,2));  // 9

Math.sqrt() : 제곱근 반환

console.log(Math.sqrt(25));  // 5

0개의 댓글