parseInt()함수, parseFloat()함수, Number()함수의 차이점

ᅳ남훈·2021년 7월 24일
0

parseInt(), parseFloat(), Number() 함수 모두
입력한 값을 number값으로 변환해준다는 공통점이 있다.
하지만 각자 미묘한 차이점을 가진다.
아래에서 알아보자.


parsInt()
-> 입력한 값에 문자열이 있어도 숫자로 변환해준다.
하지만 소숫점은 떼버린다.
ex) parseInt('36.5도') // 36

parsFloat()
-> 입력한 값에 문자열이 있어도 숫자로 변환해준다.
소숫점도 함께 출력한다.
ex) parseInt('36.5도') // 36.5

Number()
-> 입력한 값에 문자열이 있으면 NaN값을 반환한다.
숫자만 있을때 숫자로 반환.
소숫점도 함께 출력한다.
ex) Number('36.5도') // NaN
ex) Number('36.5') // 36.5

하지만! 중요한건 Int와 Float에서도 입력한 값의 맨 앞에 문자열이 들어가면 NaN을 반환한다!

ex) parseInt('약36.5') // NaN
ex) parseFloat('약36.5') // NaN

number에 문자열이 있을땐 말할 것도 없이 NaN이다.
정리해보면


let num = '36.5';

parseInt(num); // 36
parseFloat(num); // 36.5
Number(num); // 36.5

let num = '36.5도'

parseInt(num); // 36
parseFloat(num); // 36.5
Number(num); // NaN

let num = '약36.5'

parseInt(num); // NaN
parseFloat(num); // NaN
Number(num); // NaN

위와 같이 결과가 나오는걸 확인할 수 있다.

profile
가보자!

0개의 댓글