티스토리 뷰

계산기 목업 프로그램을 자바스크립트로 작성하면서 Number와 parseInt와 parseFloat를 사용하게 됐는데 내용을 정리해보려고 한다.
공통점은 세가지 모두 숫자로 이루어진 문자열을 숫자로 형변환할 수 있다. 그러나 각 함수별로 예외가 있다.
아래의 코드로 테스트를 해보았다.

 

const strs = ["10.12345", "100.0", "9.9", "-9.9", "-33", "2023년", "총3만원"];

for (const str of strs) {
  console.log(``);
  console.log("String", str);
  console.log("Number", Number(str));
  console.log("parseInt", parseInt(str));
  console.log("parseFloat", parseFloat(str));
}

차이점

Number

글자가 있으면 안된다. 숫자로만 이루어진 문자열을 형변환할 수 있다.

parseInt

소수는 무조건 버린다.

parseFloat

글자가 포함되지 않으면 Number와 가장 비슷한 결과가 나온다.

공통점

세가지 모두 공통적으로 소수점 이하가 0일경우 절사한다.
문자열이 글자로 시작할 경우 NaN이다.
참고로 NaN도 Number타입이다. falsy한 값이다.

typeof NaN //number

 

반응형
댓글