Может ли float (или double) быть установлен на NaN? - PullRequest
16 голосов
/ 14 сентября 2011

Примечание: похоже на Может ли целое число быть NaN в C ++?

Я понимаю, что это имеет небольшое практическое назначение, но можно ли float или double установить на NaN

Ответы [ 3 ]

18 голосов
/ 14 сентября 2011

Объект Float содержит статическое значение типа float, называемое NaN.

Так что

float myFloat = Float.NaN;

дает вам то, что вы спрашиваете.

http://download.oracle.com/javase/6/docs/api/java/lang/Float.html#NaN

9 голосов
/ 14 сентября 2011

Конечно!NaN является статической константой в классах Float и Double.

double x = Double.NaN;
8 голосов
/ 14 сентября 2011

Да

float f = Float.NaN;

См. документ для получения дополнительной информации.Обратите внимание, что если вы хотите сравнить число с NaN, вы должны использовать isNan () .

Несмотря на ваш вопрос выше, это имеет практическую цель.Вы можете использовать это, чтобы указать, что значение еще не было установлено / предоставлено.

...