미채택 완료

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

2020-08-13 (목) 08:04:16 1,923
uid":747734347340877829

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

Copy
var uid = BigInt(e.trader.uid);

DOMElements += "+uid+";

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

uid":747734347340877829
uid":747734347340877824

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

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

출력할수있나요?

|

답변 1개 / 댓글 1개

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

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

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

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

답변에 대한 댓글 1개

2020-08-14 (금) 05:12:55
ㅠㅠ스트링으로 해봤는데도 변형이 일어나네용

답변을 작성하려면 로그인이 필요합니다.