[js] 문자열을 숫자로 - Number(), parseInt(), parseFloat()

hyein·2023년 10월 27일
0

TIL

목록 보기
33/34
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
As I start to move towards the goal, the goal will start to move towards me.

0개의 댓글