Number() vs parseInt()

JINSUNG LEE·2021년 4월 12일
0
post-thumbnail



문자를 숫자로 변환하는 메서드 두 가지가 있다.


Number("500");

parselnt("500");

두 개의 메서드는 어떠한 차이가 있는지,

또한, 어떤 경우에 활용을 하면 좋을지에 대해 알아보도록 하며,

먼저 이 둘의 공통점부터 소개하겠다.




Number()


let word = "2021"
Number(word); // 2021 숫자 형태로 출력

parseInt()


let word = "2020"
parseInt(word); // 2020 숫자 형태로 출력

이렇게만 보면 이 둘은 쌍둥이처럼 똑같아 보일수 있다.

그럼 지금부터 차이점에 대해 소개해보겠다.





TYPE 1


let word = "2021년도"
Number(word); // NaN 출력

let word = "2021년도"
parseInt(word); // 2021 숫자 형태로 출력

Number()의 경우 NaN을 출력하지만,

parseInt()의 경우 숫자만 출력을 하는 것을 보아서는 문자와 합친 경우 유용하게 쓰인다.

TYPE 2


let word = "지금은2021년도"
Number(word); // NaN 출력
parseInt(word); 

let word = "지금은2021년도"
parseInt(word); // NaN 출력

Number()과 parseInt() 공통적으로 NaN을 출력하여,

전과 달리 parseInt()는 문자열에서 숫자 형식이 첫 번째자리가 아니면 숫자 변환이 불가능하므로

주의를 할 필요가 있다. (만약 첫번째 자리에 # , @ , ','의 특수문자 경우에도 숫자 변환 불가)

TYPE 3


let word = "2021.04.13"
Number(word); // NaN 출력

let word = "2021.04"
Number(word); // 2021.04 숫자 형태로 변환

let word = "2021.04.13"
parseInt(word); // 2021 숫자 형태로 변환

let word = "2021.04"
Number(word); // 2021 숫자 형태로 변환

Number()의 경우 소수점이 포함한 문자를 숫자로 포함되나, 2021.04.13 같은 형태는

고유의 숫자가 아니므로 변환을 하지 못한다.

parseInt()의 경우 소수점 전 숫자까지만 제한을 두며, 숫자로 변환한다.




결국은 Number()와 parseInt()은 엄연히 숫자로 나오는 출력 조건이 다른 형태이므로

상황에 따라 알맞게 잘 활용하기를 바란다.

profile
https://californialuv.github.io/Tech_Blog 이사 갔어용 🌎 🚀

0개의 댓글