In ActionScript (NaN == parseFloat (input.text)) avverte che sarà sempre falso. Perché?
-
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?
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