sirve settitle que para ejemplo java double equality nan

ejemplo - para que sirve settitle en java



¿Cómo pruebas para ver si un doble es igual a NaN? (5)

Tengo un doble en Java y quiero comprobar si es NaN . ¿Cuál es la mejor manera de hacer esto?


Es posible que desee considerar también verificar si un valor es finito a través de Double.isFinite(value) . Desde Java 8, hay un nuevo método en la clase Double donde puede verificar de una vez si un valor no es NaN e infinito.

/** * Returns {@code true} if the argument is a finite floating-point * value; returns {@code false} otherwise (for NaN and infinity * arguments). * * @param d the {@code double} value to be tested * @return {@code true} if the argument is a finite * floating-point value, {@code false} otherwise. * @since 1.8 */ public static boolean isFinite(double d)


Los principiantes necesitan ejemplos prácticos. así que prueba el siguiente código.

public class Not_a_Number { public static void main(String[] args) { // TODO Auto-generated method stub String message = "0.0/0.0 is NaN./nsimilarly Math.sqrt(-1) is NaN."; String dottedLine = "------------------------------------------------"; Double numerator = -2.0; Double denominator = -2.0; while (denominator <= 1) { Double x = numerator/denominator; Double y = new Double (x); boolean z = y.isNaN(); System.out.println("y = " + y); System.out.println("z = " + z); if (z == true){ System.out.println(message); } else { System.out.println("Hi, everyone"); } numerator = numerator + 1; denominator = denominator +1; System.out.println(dottedLine); } // end of while } // end of main } // end of class


Pruebe Double.isNaN() :

Devuelve verdadero si este valor Doble es un No-un-Número (NaN), de lo contrario es falso.

Tenga en cuenta que [ double.isNaN() ] no funcionará, porque los dobles sin caja no tienen métodos asociados con ellos.


Puede verificar si hay NaN usando var != var . NaN no es igual a NaN .

EDITAR : Este es probablemente el peor método. Es confuso, terrible para la legibilidad y, en general, una mala práctica.