web-dev-qa-db-ja.com

double値を「非値」に設定する方法

オブジェクトに2つのdoubleデータ要素があります。

適切な値が設定されている場合とそうでない場合があります。それらの値を受け取るフォームフィールドが入力されていない場合は、残りのコードでフォームフィールドが空のままになっていることを示す何らかの値に設定します。

エラーが発生するため、値をnullに設定できません。「未定義」にする方法はありますか?.

PS。これが可能かどうかわからないだけでなく、意味がないかもしれません。しかし、そのような状況にいくつかのベストプラクティスがある場合、私はそれを聞きたがります。

25
Ankur

2つの明白なオプション:

  • Doubleの代わりにdoubleを使用してください。その後、nullを使用できますが、関連するメモリパターンを大幅に変更しました。
  • 「非数」(NaN)値を使用します。

    double d = 5.5;
    System.out.println(Double.isNaN(d)); // false
    d = Double.NaN;
    System.out.println(Double.isNaN(d)); // true
    

    「通常の」数値に対する他のいくつかの演算でもNaN値が得られることに注意してください(たとえば、0を0で割った値)。

50
Jon Skeet