ActionScriptでは(NaN == parseFloat(input.text))、常にfalseになることを警告しています。どうして?

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

  •  02-07-2019
  •  | 
  •  

質問

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

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

比較は常に偽になると警告されます。また、テストにより、警告が正しいことが示されます。

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

役に立ちましたか?

解決

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

他のヒント

isNaN(parseFloat(input.text))

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top