Dans ActionScript (NaN == parseFloat (input.text)), il prévient qu'il sera toujours faux. Pourquoi?

StackOverflow https://stackoverflow.com/questions/150548

  •  02-07-2019
  •  | 
  •  

Question

Malgré la documentation assez claire, qui indique que parseFloat () peut renvoyer NaN sous forme de valeur, lorsque j'écris. un bloc comme:

if ( NaN == parseFloat(input.text) ) {
  errorMessage.text = "Please enter a number."
}

Je suis averti que la comparaison sera toujours fausse. Et les tests montrent que l’avertissement est correct.

Où se trouve la documentation corrigée et comment puis-je l'écrire pour fonctionner avec AS3?

Était-ce utile?

La solution

Parce que comparer quoi que ce soit avec NaN est toujours faux. Utilisez isNaN () à la place.

Autres conseils

isNaN (parseFloat (input.text))

BTW, si pour une raison quelconque vous n’avez pas accès à isNaN (), la méthode traditionnelle consiste à comparer le nombre avec lui-même:

if( number != number )
{
    //Is NaN 
}

La documentation se trouve dans le manuel de référence du langage Adobe Flex ici. , ainsi que d'autres fonctions disponibles globalement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top