2014-01-22 10 views

답변

39

자바 스크립트에서 21 자리의 정밀도 숫자를 기본적으로 처리 할 수 ​​없습니다. "번호", IEEE-754 Double Precision ("더블") 값입니다

자바 스크립트는 단지 숫자의 하나 종류가 있습니다. 따라서 JavaScript의 parseFloat은 다른 언어의 "parse double"과 동일합니다.

그러나, 숫자/"더블" 16 개 상당한 정밀도 숫자 (10 진수) 등 5 개 최소 유효 숫자 1을 잃게됩니다 21 자리 로 숫자 읽기를 제공한다.

의 경우 정확도 (또는 정확도) "큰 숫자"라이브러리를 사용해야합니다.

1 ..

+0

내가 가진 소수 자릿수가없는 21 자리 숫자를 파싱합니다. BigInteger와 BigNumber는 최대 16 자까지만 정밀도로 구문 분석 할 수 있습니다. 그러나 나는 그보다 더 큰 숫자를 가지고 있으며, 정확하게 파싱 될 필요가 있습니다. 조언 부탁드립니다. 구문에 대한 제안은 높이 평가됩니다. 고맙습니다. –

+0

@PriyeshShah * 문자열 *로 시작하고이를 BigInteger/BigNumber에 전달하여 구문 분석해야합니다. 자바 스크립트에서 * 숫자 * 값을 얻 자마자 위의 제한이 적용됩니다. 즉, 이미 유효 숫자를 잃어 버렸습니다. – user2864740