Comment puis-je vérifier si une variable est actuellement un type entier? J'ai cherché une sorte de ressource pour cela et je pense que l'opérateur === est important, mais je ne sais pas comment vérifier si une variable est un entier (ou un tableau).
Réponses
Trop de publicités?Une variable ne sera jamais un type entier en JavaScript - elle ne fait pas la distinction entre les différents types de Number.
Vous pouvez tester si la variable contient un nombre et si ce nombre est un entier.
(typeof foo === "number") && Math.floor(foo) === foo
Si la variable peut être une chaîne contenant un entier et que vous voulez voir si c'est le cas:
foo == parseInt(foo, 10)
Je sais que vous êtes intéressé par les nombres entiers, donc je ne vous répondrai pas, mais si vous avez toujours voulu vérifier les nombres en virgule flottante, vous pouvez le faire.
function isFloat( x )
{
return ( typeof x === "number" && Math.abs( x % 1 ) > 0);
}
Remarque: Ceci PEUT traiter les nombres se terminant par .0
(ou tout nombre logiquement équivalent de 0
- s) comme un INTEGER. En réalité, une erreur de précision en virgule flottante est nécessaire pour détecter les valeurs en virgule flottante dans ce cas.
Ex.
alert(isFloat(5.2)); //returns true
alert(isFloat(5)); //returns false
alert(isFloat(5.0)); //return could be either true or false