В ActionScript (NaN==parseFloat(input.text)) предупреждает, что оно всегда будет false.Почему?
-
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 Здесь а также другие глобально доступные функции.
Не связан с StackOverflow