> 웹 프론트엔드 > JS 튜토리얼 > JavaScript가 큰 숫자를 과학적 표기법으로 변환하지 못하도록 하려면 어떻게 해야 합니까?

JavaScript가 큰 숫자를 과학적 표기법으로 변환하지 못하도록 하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-07 18:58:13
원래의
296명이 탐색했습니다.

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

JavaScript에서 큰 숫자에 대한 과학적 표기법 방지

JavaScript는 21자리를 초과하는 정수가 문자열에 포함될 때 과학적 표기법으로 변환하는 것으로 악명이 높습니다. 이러한 값을 URL이나 다른 컨텍스트의 일부로 인쇄할 때 문제가 될 수 있습니다. 어떻게 이 변환을 회피하고 원래 값을 유지할 수 있습니까?

직접 솔루션 구축:

JavaScript에는 이러한 목적을 위해 특별히 설계된 내장 메소드가 없지만, 이를 처리하기 위해 자체 함수를 만들 수 있습니다. 사용자 정의 구현은 다음과 같습니다.

function toFixed(x) {
  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);
    }
  } 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;
}
로그인 후 복사

BigInt 활용:

JavaScript의 최신 버전은 큰 정수를 나타내는 기본 유형인 BigInt를 지원합니다. BigInt를 사용하면 과학적 표기법 없이 숫자를 문자열로 변환하는 간단한 방법을 제공합니다.

let n = 13523563246234613317632n;
console.log(n.toString()); // Output: "13523563246234613317632"
로그인 후 복사

참고: BigInt는 아직 개발 중이므로 보편적으로 지원되지 않을 수 있습니다. 이전 브라우저와의 호환성이 필요한 경우 JavaScript BigInt 라이브러리 사용을 고려해보세요.

위 내용은 JavaScript가 큰 숫자를 과학적 표기법으로 변환하지 못하도록 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿