TIL230822_ js메서드 parseInt, Math.sqrt,Math.pow,Math.floor

박지은·2023년 8월 23일
1

TIL

목록 보기
6/36

알고리즘 공부 주간이라 문제를 풀면서 메서드를 좀 더 제대로 공부하고 넘어가야겠다는 생각에 메서드 공부한 내용을 공유한다.

parseInt() _ 정수로 반환

사용목적 : 문자열에서 숫자를 추출하기 위해

이 함수는 입력받은 문자열을 실제 숫자값으로 바꾸어 반환합니다.

parseInt() 함수는 문자열을 파싱해서 숫자나 Nan(Not a Number)을 리턴합니다.

참고) 이 부분은 일단 생략해서 보기

parseInt (string, radix)

첫번째 매개변수에는 문자열이, 두번째 매개변수에는 radix가 들어갑니다.

이 매개변수로는 사용한 숫자 진법을 지정합니다. radix가 생략되면 10을 기본값으로 사용합니다.

  1. 문자열을 넣어 숫자 추출하기
function par(s){
    return parseInt(s);
}

console.log(par("4873")) // output : 4873 
console.log(typeof(par("4873"))) // output : number
  1. NaN 이 나오는 경우

NaN은 언제 반환되는 걸까? 이런 결과는 매개변수로 입력받는 문자열에 숫자가 아닌 다른 문자로 시작했을 때 발생

parseInt() 함수는 전달받은 매개변수의 앞쪽 먼저 확인하기 때문에 ‘age is 50’과 같은 것은 시작부분이 숫자가 아닌 문자로 시작하기 때문에 실제 숫자로 반환하지 못하고 NaN을 반환합니다.

const age = 'age is 50';
console.log(parseInt(age)); // output : NaN

그렇다면 문자열을 바꿔서 숫자 부분을 앞으로 이동한 결과를 알아보겠습니다.

const age = '50 is the age';
console.log(parseInt(age)); // output : 50 
console.log(typeof parseInt(age)) // output: number

위의 예제에서는 문자열의 시작이 숫자로 시작하기 때문에 parseInt() 함수는 이 숫자를 결과로 반환합니다. 여기서 parseInt() 함수는 부동 소수점 값은 무시합니다.

위의 문자열에서 나이가 50.05 였으면 50을 반환하고 .05는 무시합니다.

같은 방법으로 “50 100 150 200”과 같은 문자열이 있으면 결과로 50만 반환합니다. 이는 parseInt()함수가 주어진 문자열의 첫 번째값만 추출하도록 짜여져있기 때문입니다.

Math.sqrt() _ 루트값 구하기

자바스크립트 내장 함수를 사용해 제곱값과 루트값을 구할 수 있다.

Math 객체의 함수이다.

함수인자로 값을 넘겨주면 루트값을 반환한다.

만약 매개변수가 음수이면 NaN을 반환한다.

// Math.sqrt()  다양한 예시 
console.log(Math.sqrt(4)); //output : 2
console.log(Math.sqrt(16)); //output: 4
console.log(Math.sqrt(100)); //output : 100
console.log(Math.sqrt(2)); // output: 1.4142135623730951
console.log(Math.sqrt(-1)); //output: NaN
//Math.sqrt() 사용하기 - 루트값 구하기 
function root(n){
    return Math.sqrt(n);
}

console.log(root(121)) //output : 11 

//화살표 함수를 사용해서 좀 더 간결하게 만들기 
const root1 = n => Math.sqrt(n);

console.log(root1(4))// output: 2

Math.pow() _ 제곱값 구하기

Math.pow(base, exponent)
  • base : The base number
  • exponent: The exponent used to raise the base
// Maht.pow() 제곱값 구하기 
console.log(Math.pow(7,2)) //output: 49
console.log(Math.pow(7,3)) //output: 343
console.log(Math.pow(2,10)) //output: 1024

console.log(Math.pow(4, 0.5)) //output: 2

console.log(Math.pow(-7, 2)) // output: 49
console.log(Math.pow(-7, 3)) // output : -343

출처 : https://velog.io/@chayezo/루트와-제곱-구하는-방법

Math.floor() _ 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환 (소수점 이하를 내림) 응용: 소수점 올림 Math.ceil() , 반올림 Math.round()

Math.floor( )_ 소수점 이하를 내림한다.

// Math.floor() 정수로 내림해서 반환 (소수점 x)
console.log(Math.floor(5.95)) //output: 5
console.log(Math.floor(5)) // output: 5
console.log(Math.floor(-5.5)) //output: -6

비교해서 생각하면 좋은 Math 객체 함수

Math.ceil( ) _ 소수점 이하를 올림한다.

Math.round( ) _ 소수점 이하를 반올림한다.

// Math.ceil() 소수점 이하를 올림한다. 
console.log(Math.ceil(6.3)) // output:7

// Math.round() 소수점 이하를 반올림한다. 
console.log(Math.round(7.2)) // output:7
console.log(Math.round(7.7)) // output:8
profile
성장하는뿅아리

0개의 댓글

관련 채용 정보