>웹 프론트엔드 >JS 튜토리얼 >자바스크립트를 정수로 변환하는 방법은 무엇입니까?

자바스크립트를 정수로 변환하는 방법은 무엇입니까?

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-07-21 15:06:043827검색

JavaScript를 정수로 변환하는 방법은 다음과 같습니다. 1.parseInt() 메서드를 사용합니다. 구문 형식은 "parseInt(문자열, 구문 분석할 숫자의 밑수)"입니다. 2. Math.trunc() 메서드를 사용합니다. , 구문 형식은 "Math.trunc(value)"입니다.

자바스크립트를 정수로 변환하는 방법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

이 글에서는 숫자(또는 숫자 객체)를 정수로 변환하는 JavaScript 관련 방법을 열거하고 설명합니다.

parseInt 사용

parseInt의 구문은 다음과 같습니다.parseInt(string, radix)

매개변수 string은 구문 분석할 문자열을 나타내거나 객체일 수 있으며 객체의 toString 함수가 자동으로 호출됩니다. 구문 분석할 문자열을 가져옵니다.

parseInt의 두 번째 매개변수는 구문 분석할 숫자의 밑수를 지정할 수 있습니다. 값은 2~36 사이입니다. 매개변수가 2보다 작거나 36보다 큰 경우,parseInt()는 NaN을 반환합니다. 예를 들어 다음 코드에서는 결과가 8이므로 다른 진수를 십진수로 쉽게 변환할 수 있습니다.

parseInt(10,8) // 结果为8

매개변수 radix의 값이 ​​0이거나 매개변수가 설정되지 않은 경우,parseInt() 숫자의 밑수는 문자열을 기준으로 결정됩니다.

예를 들어 문자열이 "0x"로 시작하는 경우,parseInt()는 문자열의 나머지 부분을 16진수 정수로 구문 분석합니다. 문자열이 0으로 시작하는 경우 ECMAScript v3에서는 다음 문자를 8진수 또는 16진수로 구문 분석하는 parsInt() 구현을 허용합니다. 문자열이 1부터 9까지의 숫자로 시작하면,parseInt()는 이를 십진 정수로 구문 분석합니다.

Notes

1. 문자열의 첫 번째 숫자만 반환됩니다. 이것은 무엇을 의미합니까? 입력 문자열이 "123abc", "123,123"이면 결과는 123이고,parseInt 메서드는 다음과 같은 숫자가 아닌 부분을 자동으로 무시합니다.

2. 입력 문자열의 시작과 끝 부분에 공백이 허용됩니다.

3.parseFloat에도 위의 두 가지 특성이 있지만 이 기사에서는 이에 대해 중점적으로 다루지 않습니다.

Math.trunc

Math.trunc() 메소드를 사용하면 숫자의 소수 부분을 제거하고 정수 부분만 유지합니다. 예를 들어 다음 코드는

Math.trunc(13.37)    // 13
Math.trunc(42.84)    // 42
Math.trunc(0.123)    //  0
Math.trunc(-0.123)   // -0
Math.trunc("-1.123") // -1
Math.trunc(NaN)      // NaN
Math.trunc("foo")    // NaN
Math.trunc()         // NaN

들어오는 유형이 숫자가 아닌 경우 자동으로 중독 변환을 수행합니다. 그러나 숫자가 아닌 매개변수인 경우 NaN이 반환됩니다.

IE 브라우저는 이 방법을 지원하지 않으므로 폴리필을 고려해 볼 수 있습니다:

Math.trunc || (Math.trunc = function(v){
   return v < 0 ? Math.ceil(v) : Math.floor(v); // 使用Math.floor和Math.ceil方法
})
// 或者
if (!Math.trunc) {
    Math.trunc = function(v) {
        v = +v;
        if (!isFinite(v)) return v;
        
        return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
        
        // 返回:
        //  0        ->  0
        // -0        -> -0
        //  0.2      ->  0
        // -0.2      -> -0
        //  0.7      ->  0
        // -0.7      -> -0
        //  Infinity ->  Infinity
        // -Infinity -> -Infinity
        //  NaN      ->  NaN
        //  null     ->  0
    };
}

이진 비트 연산

숫자 객체 n의 경우 다음 방법으로 정수로 변환할 수 있습니다.

  • ~~n 이중 비트 추출 역(Double bitwise NOT)

  • n | n 비트 OR 연산(Bitwise OR)

  • n | 0을 사용한 비트 OR 연산(0을 사용한 비트 OR)

  • n << 왼쪽 시프트 연산 0비트(비트 왼쪽 시프트)

  • n >> 0비트 오른쪽 시프트 연산 0비트(비트 오른쪽 시프트)

  • n & n은 AND 연산(비트 AND)

예를 들어 코드는 다음과 같습니다:

   ~~1.23 // 1
   -1.2 | -1.2  // - 1
   -1.2 | 0  // - 1
   3.4 >> 0 // 3
   3.2 << 0 // 3
   5.5 & 5.5 // 5
  ~~"1.2" // 1.2

위에서 볼 수 있듯이 문자열은 비트 연산에 따라 숫자를 자동으로 변환합니다.

【추천 학습: javascript 고급 튜토리얼

위 내용은 자바스크립트를 정수로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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