Maison > interface Web > js tutoriel > Comment déterminer s'il s'agit d'un entier en javascript

Comment déterminer s'il s'agit d'un entier en javascript

青灯夜游
Libérer: 2023-01-03 09:31:52
original
3682 Les gens l'ont consulté

Méthode : 1. Utilisez l'opérateur de reste pour juger ; 2. Utilisez les méthodes "Math.round", "Math.ceil" et "Math.floor" pour juger ; juger ; 4. Juger par opérations sur bits ; 5. Utiliser "Number.isInteger" pour juger.

Comment déterminer s'il s'agit d'un entier en javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

Méthode 1 : Utilisez l'opérateur de reste pour déterminer

Tout entier sera divisible par 1, c'est-à-dire que le reste est 0. Utilisez cette règle pour déterminer s’il s’agit d’un entier.

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

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

isInteger('') // true
isInteger('3') // true
isInteger(true) // true
isInteger([]) // true
Copier après la connexion

Renvoie vrai pour les chaînes vides, les numéros de type chaîne, les booléens vrais et les tableaux vides. Si vous êtes intéressé par les détails de conversion interne de ces types, veuillez vous référer à : Valeurs fausses étranges en JavaScript
Par conséquent, vous devez d'abord déterminer si l'objet est un nombre, par exemple en ajoutant un type de

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

isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
Copier après la connexion

Méthode 2, utilisez Math.round, Math.ceil et Math.floor pour déterminer si l'entier

est toujours égal à lui-même après l'arrondi. Utilisez cette fonctionnalité pour déterminer s'il s'agit d'un entier, exemple Math.floor, comme suit

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
Copier après la connexion

[Apprentissage recommandé : Tutoriel de base js]

Méthode 3 , via parseInt Judgment

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
Copier après la connexion

La raison est que parseInt force le premier paramètre à être analysé dans une chaîne avant d'analyser l'entier. Cette méthode de conversion de nombres en entiers n’est pas un bon choix.

Méthode 4 : Déterminer par des opérations sur les bits

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了
Copier après la connexion

Méthode 5 : ES6 fournit 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
Copier après la connexion

Plus pour la programmation -connaissances connexes, veuillez visiter : Vidéo de programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal