462 votes

Vérifier si un nombre a une décimale / est un nombre entier

Je cherche un moyen simple en JavaScript de vérifier si un nombre a une décimale (est un entier). Par exemple,

 23 -> OK
5 -> OK
3.5 -> not OK
34.345 -> not OK
 
 if(number is integer) {...} 

1179voto

Andy E Points 132925

Utiliser le module fonctionnera:

 num % 1 != 0
// 23.5 % 1 = 0.5
 

70voto

Ike Points 101

Ou vous pouvez simplement utiliser pour savoir si ce n'est PAS une décimale:

 string.indexOf(".")==-1;
 

24voto

Thomas Points 42973

La solution la plus courante consiste à supprimer la partie entière du nombre et à la comparer à zéro, comme suit:

 function Test()
{
     var startVal = 123.456
     alert( (startVal - Math.floor(startVal)) != 0 )
}
 

19voto

kennebec Points 33886

// Que dirais-tu de l'octer?

 Number.prototype.isInt= function(){
 return this== this>> 0;
}
 

Je me sens toujours un peu mauvais pour les opérateurs de bits en javascript-

ils ne font presque pas d'exercice.

4voto

ghostdog74 Points 86060
var re=/^-?[0-9]+$/;
var num=10;
re.test(num);

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