js api호출시 18자리수가 제대로 안넘어옵니다.

js api호출시 18자리수가 제대로 안넘어옵니다.

QA

js api호출시 18자리수가 제대로 안넘어옵니다.

본문

uid":747734347340877829

총 18자리수의 숫자인데 16자리수까지 가져오고 그뒤로는 00으로 짤립니다.

 


var uid = BigInt(e.trader.uid);
DOMElements += "+uid+";

 

이와같이 찍어보면 18자리수까지 맞는거같은데

 

uid":747734347340877829
uid":747734347340877824

 

끝자리가 틀리게 가져옵니다.

 

1씩 반올림되거나 그런게 아닌 랜덤으로 마지막 숫자가 다른데 어떻게 처리해야 18자리수를 정상적으로

출력할수있나요?

 

#js

이 질문에 댓글 쓰기 :

답변 1

뭘찾다가 여길 오게 된지 기억은 나지 않지만, 해당 질문에 궁금하여 찾아보고

 

댓글 달아드리려고 본커뮤니티에 가입까지 했네요 ㅎㅎ;;

 

원인 : javascript에서 숫자형 표현범위를 2^53 (16자리 : 9,007,199,254,740,992) 벗어나기 때문에 발생
해결방안 : 숫자형 표현범위를 벗어난 변수는 String으로 변환하여 클라이언트로 전달하여 표시하면 된다.

출처: https://supremedev.tistory.com/30 [Supreme Dev]

답변을 작성하시기 전에 로그인 해주세요.
전체 268
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT