В ActionScript (NaN==parseFloat(input.text)) предупреждает, что оно всегда будет false.Почему?

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

  •  02-07-2019
  •  | 
  •  

Вопрос

Несмотря на довольно ясный Документация в котором говорится , что Плавающий пар () может возвращать NaN в качестве значения, когда я пишу блок типа:

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

Меня предупреждают, что сравнение всегда будет ложным.И тестирование показывает, что предупреждение верное.

Где исправленная документация, и как я могу написать это для работы с AS3?

Это было полезно?

Решение

Потому что сравнение чего-либо с NaN всегда ложно.Вместо этого используйте isNaN().

Другие советы

isNaN(parseFloat(ввод.текст))

Кстати, если по какой-то причине у вас нет доступа к isNaN(), традиционный метод заключается в сравнении числа с самим собой:

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

Документацию можно найти в справочнике по языку Adobe Flex Здесь а также другие глобально доступные функции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top