[TIL] 문자열을 숫자로 바꾸기

jay__ss·2021년 12월 4일
0
post-thumbnail

'문자열'을 숫자로!!

데이터(정보)를 받아올 때, 우리의 예상대로만 흘러가지 않는다.
가령, 우리는 숫자를 요구했지만 문자열로 온다거나, 숫자와 문자의 합으로 온다거나(이게 결국은 문자열이지만) 다양하게 올 수 있다.
우리는 이러한 정보를 숫자로 바꾸어 줄 수 있어야 한다.

방법 네 가지.

Number()
+'str'
parseFloat()
parseInt()

Number()

굉장히 정석적인 방법.
문자가 조금이라도 섞이면 숫자를 반환하지 못한다.

Number('123')
123
Number('123a')
NaN
Number('a123')
NaN
Number('-123')
-123

+'str'

조금은 간단하고 직관적인 방법.
문자가 섞이면 역시 숫자를 반환하지 못하는 모습이다.

+ '123'
123
+ '123a'
NaN
+ 'a123'
NaN
+ '-123'
-123

parseFloat

문자가 조금 섞여도 숫자를 반환해주는 모습을 보인다.
그러나, 문자열로 시작을 하면 안된다.
parseInt와 다른점은 소수에서 확인할 수 있다.

parseFloat('123')
123
parseFloat('123a')
123
parseFloat('a123')
NaN
parseFloat('-123')
-123
parseFloat('123.456')
123.456

parseInt

문자가 조금 섞여도 숫자를 반환해주는 모습을 보인다.
역시나, 문자열로 시작을 하면 안된다.
소수아래의 숫자들을 버리는 모습!

parseInt('123')
123
parseInt('123a')
123
parseInt('a123')
NaN
parseInt('-123')
-123
parseInt('123.456')
123
profile
😂그냥 직진하는 (예비)개발자

0개의 댓글