자바스크립트에서 정수인지 확인하는 방법

青灯夜游
풀어 주다: 2023-01-03 09:31:52
원래의
3495명이 탐색했습니다.

방법: 1. 판단하려면 나머지 연산자를 사용하십시오. 2. 판단하려면 "Math.round", "Math.ceil" 및 "Math.floor" 메소드를 사용하십시오. 통과 비트 연산을 사용하여 판단합니다. 5. "Number.isInteger"를 사용하여 판단합니다.

자바스크립트에서 정수인지 확인하는 방법

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

방법 1: 나머지 연산자를 사용하여

모든 정수는 1로 나눌 수 있습니다. 즉 나머지는 0입니다. 이 규칙을 사용하여 정수인지 여부를 확인합니다.

function isInteger(obj) {
 return obj%1 === 0
}

isInteger(3) // true
isInteger(3.3) // false 

isInteger('') // true
isInteger('3') // true
isInteger(true) // true
isInteger([]) // true
로그인 후 복사

빈 문자열, 문자열 유형 숫자, 부울 true 및 빈 배열에 대해 true를 반환합니다. 이러한 유형의 내부 변환 세부 사항에 관심이 있는 경우 다음을 참조하세요. JavaScript의 이상한 거짓 값
따라서 먼저 typeof

function isInteger(obj) {
 return typeof obj === 'number' && obj%1 === 0
}

isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
로그인 후 복사

를 추가하는 등 개체가 숫자인지 여부를 확인해야 합니다. 방법 2 . Math.round 및 Math.ceil을 사용하면 Math.floor는 반올림 후에도 정수가 여전히 자신과 동일한지 확인합니다. 이 기능을 사용하여 정수인지 확인합니다. Math.floor 예제는 다음과 같습니다

function isInteger(obj) {
 return Math.floor(obj) === obj
}


isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
로그인 후 복사

[권장 학습:

js 기본 튜토리얼

]

방법 3.parseInt를 통해 확인

function isInteger(obj) {
 return parseInt(obj, 10) === obj
}

isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false、

//很不错,但也有一个缺点
isInteger(1000000000000000000000) // false
로그인 후 복사
이유는parseInt입니다. 정수를 구문 분석하기 전에 강제로 구문 분석합니다. 첫 번째 매개변수는 문자열로 구문 분석됩니다. 숫자를 정수로 변환하는 이 방법은 좋은 선택이 아닙니다.

방법 4: 비트 연산을 통해 결정

function isInteger(obj) {
 return (obj | 0) === obj
}

isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false

//这个函数很不错,效率还很高。但有个缺陷,上文提到过,位运算只能处理32位以内的数字,对于超过32位的无能为力
isInteger(Math.pow(2, 32)) // 32位以上的数字返回false了
로그인 후 복사
방법 5: ES6은 Number.isInteger

Number.isInteger(3) // true
Number.isInteger(3.1) // false
Number.isInteger('') // false
Number.isInteger('3') // false
Number.isInteger(true) // false
Number.isInteger([]) // false
로그인 후 복사
를 제공합니다. 더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !

위 내용은 자바스크립트에서 정수인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!