460 votes

Comment vérifier si une variable est un nombre entier en Javascript ?

Comment puis-je vérifier si une variable est un nombre entier en Javscript et lancer une alerte pour le confirmer ? Cela ne fonctionne pas ?

556voto

krisk Points 940

Cela dépend, voulez-vous aussi pour lancer des chaînes en tant que potentiel entiers?

Cela va faire:

function isInt(value) {
  return !isNaN(value) && 
         parseInt(Number(value)) == value && 
         !isNaN(parseInt(value, 10));
}

Avec des opérations bit à Bit

Simple d'analyser et de vérifier

function isInt(value) {
  var x = parseFloat(value);
  return !isNaN(value) && (x | 0) === x;
}

De court-circuit, et l'enregistrement d'une opération d'analyse:

function isInt(value) {
  if (isNaN(value)) {
    return false;
  }
  var x = parseFloat(value);
  return (x | 0) === x;
}

Ou peut-être les deux d'un seul coup:

function isInt(value) {
  return !isNaN(value) && (function(x) { return (x | 0) === x; })(parseFloat(value))
}

Tests:

isInt(42)        // true
isInt("42")      // true
isInt(4e2)       // true
isInt("4e2")     // true
isInt(" 1 ")     // true
isInt("")        // false
isInt("  ")      // false
isInt(42.1)      // false
isInt("1a")      // false
isInt("4e2a")    // false
isInt(null)      // false
isInt(undefined) // false
isInt(NaN)       // false

Voici le violon: http://jsfiddle.net/opfyrqwp/28/

376voto

pranag Points 575

Utilisez le === opérateur comme ci-dessous

127voto

Blake Regalia Points 554

En supposant que vous ne savez rien sur la variable en question, vous devriez prendre cette approche :

Pour le dire simplement :

78voto

François Wahl Points 13752

Vous pouvez vérifier si le nombre a un reste :

Occupez-vous de vous, si votre contribution pourrait être également du texte et que vous voulez vérifier tout d’abord il n’est pas, alors vous pouvez vérifier le type d’abord :

9voto

user603749 Points 308

Pour vérifier si entier comme affiche veut :

avis + en face de données (string convertit au numéro), et === pour exacte.

Voici quelques exemples :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X