개발/Javascript

[javascript] Number, parseFloat, parseInt 차이점

2realzoo 2022. 11. 8. 13:13

 

Number : 문자열 숫자로 강제 변환
형변환 되지 않으면 NaN 반환

 

Number('123') // 123
Number('+456') // 456
Number('-1.1') // -1.1
Number('08') //8  

Number('1e10') //10000000000  (16진법) 

Number(null) // 0
Number('') // 0

Number('1000won') // NaN
Number('happy') // NaN

숫자가 아닌 문자가 들어가면 인식하지 못하고 NaN을 반환한다.

parseFloat : 문자열을 숫자로 파싱하는 것
              : 부동 소수점 숫자 반환
              :공백이 아닌 첫 문자를 숫자로 변환할 수 없는 경우 NaN 반환

parseFloat('+421') // 421
parseFloat('-1.1') // -1.1
parseFloat('08') // 8

parseFloat('1e10') // => 10000000000  (16진법)

parseFloat(null) // NaN

parseFloat('1000won') // 1000

문자열이 있어도 숫자만 반환한다.

 

parseInt : 문자열 파싱하여 정수 반환
           :공백이 아닌 첫 문자를 숫자로 변환할 수 없는 경우 NaN 반환

parseInt('+421') // 421
parseInt('-1.1') // -1
parseInt('08') // 8

parseInt('1e10')//1

parseInt(null) // NaN

parseInt('1000won') // 1000

 

Number는 문자열 중 하나라도 숫자가 아니면 NaN을 반환
parseFloat , parseInt 는 문자열에서 숫자만 반환
하지만 주어진 값의 첫 글자를 숫자로 변환할 수 없는 경우 NaN을 반환