>웹 프론트엔드 >JS 튜토리얼 >JavaScript가 큰 정수를 과학적 표기법으로 변환하는 것을 어떻게 방지할 수 있습니까?

JavaScript가 큰 정수를 과학적 표기법으로 변환하는 것을 어떻게 방지할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-16 03:51:09797검색

How Can I Prevent JavaScript from Converting Large Integers to Scientific Notation?

JavaScript에서 큰 정수에 대한 과학적 표기법 방지

JavaScript에서 큰 정수를 처리하는 것은 까다로울 수 있습니다. 21자리보다 많은 숫자에 대한 문자열 컨텍스트에서 사용되는 과학적 표기법입니다. 이는 특히 URL의 일부로 정수를 인쇄할 때 문제가 될 수 있습니다. 다행히도 이러한 변환을 방지하고 전체 숫자 값을 유지할 수 있는 방법이 있습니다.

기본 JavaScript 메서드

JavaScript의 Number.toFixed 메서드를 사용하여 숫자 형식을 a로 지정할 수 있습니다. 지정된 소수 정밀도. 그러나 여기에는 제한이 있습니다. 1e21보다 크거나 같은 숫자에 대해서는 과학 표기법으로 전환하고 최대 정밀도는 20입니다.

맞춤 구현

자세한 내용은 유연성이 있으므로 표시된 'toFixed' 함수와 같은 고유한 함수를 만들 수 있습니다. 아래:

function toFixed(x) {
  // Handle small values
  if (Math.abs(x) < 1.0) {
    var e = parseInt(x.toString().split('e-')[1]);
    if (e) {
        x *= Math.pow(10,e-1);
        x = '0.' + (new Array(e)).join('0') + x.toString().substring(2);
    }
  } 
  // Handle large values
  else {
    var e = parseInt(x.toString().split('+')[1]);
    if (e > 20) {
        e -= 20;
        x /= Math.pow(10,e);
        x += (new Array(e+1)).join('0');
    }
  }
  return x;
}

JavaScript를 넘어서

대형 정수와 관련된 복잡한 시나리오의 경우 BigNumber, Leemon의 BigInt 또는 BigInteger와 같은 BigInt 라이브러리 사용을 고려하세요. 최신 JavaScript 버전에는 기본 BigInt 지원도 도입되었습니다. 이를 사용하려면 BigInt(n)를 사용하여 정수를 BigInt 객체로 변환한 다음 toString()을 호출하면 됩니다.

위 내용은 JavaScript가 큰 정수를 과학적 표기법으로 변환하는 것을 어떻게 방지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.