7

次のようなブロックを書くと、 parseFloat()が NaN を値として返すことができるというかなり明確なドキュメントにもかかわらず、

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

比較は常に偽になることに注意してください。そして、テストは警告が正しいことを示しています。

修正されたドキュメントはどこにありますか? AS3 で動作するようにするにはどうすればよいですか?

4

4 に答える 4

21

何かを NaN と比較することは常に false であるためです。代わりに isNaN() を使用してください。

于 2008-09-29T20:45:00.023 に答える
5

isNaN(parseFloat(input.text))

于 2008-09-29T20:45:35.420 に答える
2

ところで、何らかの理由で isNaN() にアクセスできない場合、従来の方法は数値をそれ自体と比較することです。

if( number != number )
{
    //Is NaN 
}
于 2008-10-08T16:14:51.167 に答える
0

ドキュメントは、Adobe Flex 言語リファレンス(こちら) およびその他のグローバルに利用可能な関数にあります。

于 2008-09-29T22:08:09.450 に答える