web-dev-qa-db-ja.com

NaNの確認とIfでの使用

データベースからいくつかのデータを収集し、それらを追加して統計を取得しますが、データの一部をバックデートしているため、計算された合計がNaN(数値ではない)として表示されることがあります。 if(数字ではない)と言うif文は、このデータをテーブルから除外します。

データ(この場合はdouble)がNaNかどうかをテストするにはどうすればよいですか?

13
Marc Rasmussen

使用できる静的メソッド Float.isNaN(float)Double.isNaN(double) があります。

double x = ... // whatever calculation you do

if (Double.isNaN(x)) {
    ...
}
38
Bill the Lizard

NaNをテストするには2つの方法があります。組み込み関数を使用できます

Double.isNaN(x)

またはこれが行うチェックを実行します

if (x != x)

xがdoubleまたはfloatの場合

4
Peter Lawrey