En ActionScript (NaN == parseFloat (input.text)) advierte que siempre será falso. ¿Por qué?

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

  •  02-07-2019
  •  | 
  •  

Pregunta

A pesar de la bastante clara documentación que dice que parseFloat () puede devolver NaN como un valor, cuando escribo un bloque como:

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

Me advierten que la comparación siempre será falsa. Y las pruebas muestran que la advertencia es correcta.

¿Dónde está la documentación corregida y cómo puedo escribirla para que funcione con AS3?

¿Fue útil?

Solución

Porque comparar cualquier cosa con NaN siempre es falso. Utilice isNaN () en su lugar.

Otros consejos

isNaN (parseFloat (input.text))

Por cierto, si por alguna razón no tiene acceso a isNaN (), el método tradicional es comparar el número consigo mismo:

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

La documentación se puede encontrar en Adobe Flex Language Reference Aquí y otras funciones disponibles a nivel mundial.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top