parseInt, parseFloat, Math.floor 에 대해

2023. 7. 22. 21:09· 프론트엔드/JS

✅ Number.parseInt(string, radix)

1. 문자열을 radix에 해당하는 "진수로 읽어서" → 10진법인 숫자형으로 바꿈.

 

예제코드1 )

parseInt("10", 2); 
// 2 - 파라미터 "10"을 2진법으로 읽어서, 10진법으로 변환한 값을 리턴함.

parseInt("0021", 3); 
// 7 - 파라미터 "0021"을 3진법으로 읽어서, 10진법으로 변환한 값을 리턴하였습니다.

 

예제코드2 )

function solution(idx) {
  return parseInt(idx, 10);
}

// 실행코드
console.log(solution('1234')); // 1234 (문자 "1234"를 10진법으로 읽어서, 10진법인 정수로 바꿈)
console.log(solution('-1234')); // -1234 // 1234 (문자 "-1234"를 10진법으로 읽어서, 10진법인 정수로 바꿈)

 

2. 문자열을 숫자형으로 바꾸지 못하는 경우

: NaN을 반환한다.

: 그러나 숫자가 아닌 다른 형이 시작되는 경우("숫자+문자" 일 경우) 숫자형만 반환하고 문자는 제거된다.

parseInt("min"); // NaN
parseInt("min123"); // NaN
parseInt("1234min"); // 1234
parseInt("1234.123"); // 1234

 

✅ parseInt와 parseFloat의 차이점 

Number.parseInt(string, radix) : "정수" 값을 반환하기 위해 소수점 이하 값을 잘라냄.
Number.parseFloat(string) : "실수"로 파싱해 반환함.

parseInt("1.901"); // 1
parseFloat("1.901"); // 1.901

✅ Math.floor()

주어진 숫자에서 제일 작은 정수 반환

Math.floor( 45.95); //  45
Math.floor( 45.05); //  45
Math.floor(  4   ); //   4
Math.floor(-45.05); // -46
Math.floor(-45.95); // -46

 

 

✅ parseInt와 Math.floor 의 차이점 

둘다 실수를 정수로 만들 수 있다는 공통점이 있다.

그러나 음수일 경우 parseInt는 소수점을 순수히 소수점을 없애지만, floor는 해당 숫자에서 제일 작은 정수를 반환하기 때문에 반올림 한 결과가 나온다.

Math.floor(12.7); // 12
parseInt(12.7); // 12

Math.floor(-12.3); // -13 !!
parseInt(-12.3); // -12

'프론트엔드 > JS' 카테고리의 다른 글

디바운스,쓰로틀  (0) 2024.06.12
URLSearchParams  (0) 2023.10.31
spread문법 , rest파라미터 , arguments의 차이  (0) 2023.07.25
History api  (0) 2023.07.02
performance.now()  (0) 2023.06.23
'프론트엔드/JS' 카테고리의 다른 글
  • URLSearchParams
  • spread문법 , rest파라미터 , arguments의 차이
  • History api
  • performance.now()
journey-dev
journey-dev
journey-dev
journey-dev
journey-dev
전체
오늘
어제
  • 분류 전체보기 (63)
    • 프론트엔드 (44)
      • JS (8)
      • React (8)
      • vue (9)
      • Typescript (2)
    • CS (0)
      • 자료구조&알고리즘 (2)
      • 네트워크 (2)
    • 개발서적 (1)
      • 코어 자바스크립트 (0)
      • 프론트엔드 성능 최적화 가이드 (1)
    • DB (11)
      • SQL (11)
    • GIT (0)
    • GIS (3)
    • 개발일기 (0)
    • ing (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 일단 시작해라. 나중에 완벽해지면 된다.

인기 글

태그

  • 리액트 복기하기!

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
journey-dev
parseInt, parseFloat, Math.floor 에 대해
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.