Number(), parseInt(), parseFloat() 차이점과 공통점[JavaScript]

양찌·2021년 5월 18일
5

JS

목록 보기
8/11
post-thumbnail

Number()

Number()

  • 문자열의 수를 숫자로 바꿔준다.
  • 만약 인수를 형변환 할 수 없다면 NaN을 리턴한다.
Number('123') // 123
Number('+123') // 123
Number('1.23') // 1.23
Number('-1.23') // -1.23
Number('08') //8  -> ECMAScript 5 에서는 0으로 시작하는 string을 8진법으로 보지 않는다

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

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



parseInt()

parseInt()

  • 문자열 인자(숫자 + 문자)를 받는다.
  • 그 인자를 parse(해부하다, 품사문법적 관계를 설명하다)한다.
  • integer(정수) 또는 NaN을 리턴한다.
parseInt('08') // 8   
parseInt('-421') // -421
parseInt('+421') // 421
parseInt('421') // 421

parseInt('21000won') // 21000

parseInt('2.34') // 2

parseInt(null) // NaN



parseFloat()

parseFloat()

  • 문자열 인자(숫자 + 문자)를 받는다.
  • 그 인자를 parse(해부하다, 품사문법적 관계를 설명하다)한다.
  • 부동 소수점 숫자(float point number)를 반환한다.
parseFloat('08') // 8
parseFloat('-421') // -421

parseFloat('421') // 421
parseFloat('+421') // 421

parseFloat('21000won') // 21000

parseFloat('2.34') // 2.34

parseFloat(null) // NaN



parseInt()와 parseFloat의 공통점

  • Number()와 달리, 일반 문자를 무시하고 숫자만 반환한다.
let won = '1000won'

console.log(Number(won)); // NaN
console.log(parseInt(won)); // 1000
console.log(parseFloat(won)); // 1000



parseInt()와 parseFloat의 차이점

  • 소수점 뒤의 수를 무시하는지 안하는지의 차이
let decimalNum = 2.34
let strDecimalNum = '2.34'

console.log(parseInt(decimalNum)) // 2
console.log(parseInt(stringDecimalNum)) // 2

console.log(parseFloat(decimalNum)) // 2.34
console.log(parseFloat(strDecimalNum)) // 2.34
profile
신입 개발자 입니다! 혹시 제 글에서 수정이 필요하거나, 개선될 부분이 있으면 자유롭게 댓글 달아주세요😊

1개의 댓글

comment-user-thumbnail
2023년 8월 17일

크.. 감사합니다 parseInt 가 애매하게 헷갈렸는데 이해됬네요

답글 달기