길/Javascript 기본

parseFloat / parseInt / Number

7he8oy 2021. 1. 19. 19:37

공통점

parseFloat과 parseInt, Number는 argument를 받아 number type으로 리턴한다.

 

 

차이점

parseInt, parseFloat의 공통점은

string을 인자로 받는다.

 

차이점은

parseFloat은 실수를 뱉고 parseInt는 정수를 뱉는다.
parseInt('2.1') // 2
parseInt('2.1') // 2.1

 

number는 모든 type을 인자로 받는다.

예를 들어,

boolean type인 true를 인자로 넣으면

parseInt(true) // NaN
parseFloat(true) // NaN
Number(true) // 0

 

parseF/I는 문자가 섞인 것을 인자로 받을 수 있다.
parseFloat('123.423$') //123.423
parseInt('123.423$') // 123
Number('123.423$') // NaN

// parseF/I도 문자가 앞에 오면 NaN을 반환함
parseFloat('$123.423') // NaN
parseFloat('324.321$123.423') // 324.321

 

Number는 빈 문자열을 0으로 반환하지만 parseF/I는 NaN으로 반환
parseFloat(''); // => NaN
Number(''); // => 0
parseFloat(' \r\n\t'); // => NaN
Number(' \r\n\t'); // => 0

 

 Number는 10진법 이외의 수 도 10진법으로 바꿀 수 있다.
parseFloat('0x10'); // => 0
Number('0x10'); // => 16