> 웹 프론트엔드 > JS 튜토리얼 > 문자열 변환에 대한 접근 방식에서parseInt()와 Number()는 어떻게 다릅니까?

문자열 변환에 대한 접근 방식에서parseInt()와 Number()는 어떻게 다릅니까?

DDD
풀어 주다: 2024-11-10 11:28:02
원래의
961명이 탐색했습니다.

How do parseInt() and Number() differ in their approaches to string conversion?

parseInt()와 Number() 구별: 의미적 차이 및 수치 변환

질문:

parseInt()와 Number()는 문자열을 숫자 값으로 변환하는 접근 방식에서 어떻게 다릅니까?

답변:

parseInt()와 Number( )는 문자열에서 숫자를 추출하는 것을 목표로 하며 근본적인 의미론적 차이를 가지고 있습니다.

  • parseInt() 구문 분석 수행:

parseInt()가 주로 활용됩니다. 문자열을 구문 분석하기 위해 지정된 기수를 기반으로 숫자 값을 추출하려고 시도합니다. 기수는 10진수(진수 10) 또는 16진수(진수 16)와 같은 숫자 체계의 기수를 나타냅니다. 기본적으로 parseInt()는 10진수 기수를 가정합니다.

  • Number()는 유형 변환을 수행합니다.

parseInt()와 달리 Number()는 작동합니다. 유형 변환을 수행하는 함수로, 주어진 문자열을 숫자 값으로 변환합니다. 이 변환 프로세스에서는 지수 표기법, 8진수 표기법, 16진수 표기법 등 다양한 요소를 고려합니다.

변환 동작:

  • 기본 기수 :

    • parseInt()는 특정 기수를 가정하여 문자열을 해석합니다. 예를 들어, parseInt("10100", 2)는 이진 기수(기본 2)를 사용하여 20으로 해석됩니다.
    • Number()에는 명시적인 기수 해석 기능이 없습니다. 8진수 표기법(예: "0o10")을 명시적으로 인식하여 기본 8 숫자로 처리합니다.
  • 후행 문자:

    • parseInt()는 지정된 기수 아래의 유효한 숫자에 해당하지 않는 후행 문자를 무시합니다.
    • Number()는 후행 문자를 숫자의 일부로 해석합니다.
  • 암시적 8진수:

    • Number()는 암시적 8진수 표기법(예: "010")을 감지할 수 없지만 명시적인 8진수 표기법(예: "0o10")은 감지할 수 있습니다. ").
    • parseInt()는 대체 기수를 사용하여 달리 지정하지 않는 한 "010"을 8진수(기수 8)로 해석합니다.
  • 16진수 표기법:

    • parseInt() 및 Number() 모두 기수 16을 사용하여 문자열을 16진수 표기법으로 변환할 수 있습니다(예:parseInt("0xF") = 15).
  • 등가 유형 변환:

    • 단항 더하기 연산자( )를 숫자 유형 변환에 사용할 수도 있습니다. Number()를 함수로 사용합니다(예: "2e1" = 20).

위 내용은 문자열 변환에 대한 접근 방식에서parseInt()와 Number()는 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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