料AboutJavaScriptを有効にして、ご利用ください。「浮動小数点数型とその形式、値」には以下のように規定されている。NaNは順序付けされない(unordered)ため、数値比較演算子<、<=、>、>=は、オペランドのいずれかまたは両方がNaNである場合にfalseを返す。等値演算子==はいずれかのオペランドがNaNである場合にfalseを返し、非等値演算子!=はいずれかのオペランドがNaNである場合にtrueを返す。NaNが順序付けされないというこの性質は、しばしばプログラマの想定外であるため、NaNとの直接の比較は行うべきでない。NaNのセマンティクスを考慮することなく浮動小数点値の比較を行うコードを書くと、問題が発生する可能性がある。入力にNaN値が含まれることを考慮しないような入力値検査は予期せぬ結果をもたらす可能性がある。浮動小数点数入力が例外値でないかを検査する」を参照。違反コード以下の違反コードではNaNとの直接の比較を行っている。NaNのセマンティクスに従い、NaNとの比較はすべてfalseとなる(!=オペレータだけは例外的にtrueを返す)。メッセージが出力されることはない。}}適合コード以下のコードでは、Double.isNaN()メソッドを使用し、式がNaN値であるかどうかをチェックしている。値との比較は予期せぬ結果をもたらす可能性がある。L3自動検出NaNとの比較を検出することは容易である。値が含まれている可能性まで考慮して計算結果が正しく処理されたかどうかを判断するのは一般に困難である。ヒューリスティックな検査は役に立つかもしれない。FindBugsはNaNとの比較を検知できるケースもある。Values"翻訳元これは以下のページを翻訳したものです。有このページは役に立ちましたか?javascriptを有効にすると、ご回答いただけます。その他のご意見はPCサイトにて入力願います。