83 votes

Comment vérifier si un nombre est évalué à l'infini?

J'ai une série de calculs Javascript qui (uniquement sous IE) montrent l'infini en fonction des choix de l'utilisateur.

Comment empêcher le mot "Infinity" d'apparaître et, par exemple, afficher "0.0" à la place?

158voto

LukeH Points 110965
 if (result == Number.POSITIVE_INFINITY || result == Number.NEGATIVE_INFINITY)
{
    // ...
}
 

Vous pouvez éventuellement utiliser la fonction isFinite place, en fonction de la façon dont vous souhaitez traiter NaN . isFinite renvoie false si votre nombre est POSITIVE_INFINITY , NEGATIVE_INFINITY ou NaN .

 if (isFinite(result))
{
    // ...
}
 

9voto

ryanve Points 6881

Un simple n === n+1 ou n === n/0 fonctionne:

 function isInfinite(n) {
  return n === n/0;
}
 

Sachez que isFinite() natif contraint les entrées de nombres. isFinite([]) et isFinite(null) sont tous deux true par exemple.

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: