Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- docker
- kotlin
- 파이썬
- AWS
- react-native
- Android
- 티스토리챌린지
- chrome
- css
- Jenkins
- NanoHttpd
- spring boots
- React
- 광고 id
- TypeScript
- 오블완
- nuxt
- toml
- JavaScript
- 오퍼월
- 코테
- EC2
- Express
- nginx
- Next
- 백준
- 개발
- python
- 코딩테스트
- it
Archives
- Today
- Total
내맘대로 개발일지
[Javascript] 형변환 - Number, BigInt 본문
https://school.programmers.co.kr/learn/courses/30/lessons/181846
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
프로그래머스 문제를 풀고있다가 "287346502836570928366" 를 숫자로 바꿔주기 위해 Number(b) 를 사용하니까
287346502836570928366 인 값이 287346502836570900000 로 출력이 되었다.
Number 의 숫자 범위는 다음과 같다.
const biggestInt = Number.MAX_SAFE_INTEGER; // (2**53 - 1) => 9007199254740991
const smallestInt = Number.MIN_SAFE_INTEGER; // -(2**53 - 1) => -9007199254740991
// 출처 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number
그러다 보니까 형변환이 제대로 이루어 지지않은건데 이를 해결하기 위해서는 Number 가 아닌 BigInt 를 사용해서
변환을 하면 된다.
BigInt(b)
BigInt 의 숫자 범위는 다음과 같다.
const biggestInt = +9,223,372,036,854,775,807
const smallestInt = -9,223,372,036,854,775,808
출처 : https://www.cubrid.org/manual/ko/9.3.0/sql/datatype.html
아직 Number 숫자범위를 넘어가는 데이터를 다뤄본적도 없다 보니 BigInt 가 생소했다 보니 발생한 이슈인 것 같다...
MDN 에 가서 한번 쓱 - 읽어보면 쉽게 이해가 될 듯 하다!
'Javascript' 카테고리의 다른 글
| [TypeScript] try catch 의 e 타입 - unknown (0) | 2024.03.25 |
|---|---|
| [Javascript] 프로그래머스 - 최대공약수와 최소공배수 (1) | 2024.02.15 |
| [Javascript] 백준 11720 - 숫자의 합 (0) | 2024.01.30 |
| [Javascript] 백준 2675 - 문자열 반복 (0) | 2024.01.30 |
| [Javascript] 백준 2908 - 상수 (2) | 2024.01.30 |