In ActionScript (NaN == parseFloat (input.text)) avverte che sarà sempre falso. Perché?

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

  •  02-07-2019
  •  | 
  •  

Domanda

Nonostante la piuttosto chiara che dice che parseFloat () può restituire NaN come valore, quando scrivo un blocco come:

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

Sono avvisato che il confronto sarà sempre falso. E i test mostrano che l'avviso è corretto.

Dov'è la documentazione corretta e come posso scriverla per lavorare con AS3?

È stato utile?

Soluzione

Perché confrontare qualcosa con NaN è sempre falso. Utilizzare invece isNaN ().

Altri suggerimenti

isNaN (parseFloat (input.text))

A proposito, se per qualche motivo non hai accesso a isNaN (), il metodo tradizionale consiste nel confrontare il numero con se stesso:

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

La documentazione è disponibile nella Guida di riferimento di Adobe Flex Qui nonché altre funzioni disponibili a livello globale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top