Conceptos básicos de JAVA: el método para juzgar si los tipos DOUBLE son iguales

En Java, el signo igual doble se puede usar para comparar el tamaño de los datos de tipo int , pero el signo igual doble no se puede usar para comparar el tamaño del tipo doble . Si se usa, el resultado siempre será desigual, incluso si la precisión de los dos es el mismo. . A continuación se describen dos métodos para comparar datos dobles por igualdad.

El primer método: convertir a una cadena

        Si la precisión de la cadena de los dos datos dobles que se van a comparar es igual, puede convertir los datos en una cadena y usar el método de igualdad de la cadena para comparar indirectamente si los dos datos dobles son iguales.

Nota: Este método solo es adecuado para comparar datos con la misma precisión, y solo se usa para comparar si son iguales y no se puede usar para juzgar el tamaño.

Float.toString(453.2348f).equals(Float.toString(0.342f))
 
Double.toString(0.8456d).equals(Float.toString(0.242f))

 

El segundo método: utilice el método DOUBLE.DOUBLETOLONGBITS() proporcionado por SUN

Este método puede convertir el doble en datos largos , de modo que el doble pueda juzgar si el tamaño y la igualdad son iguales según el método de largo (<, >, ==).

Double.doubleToLongBits(0.01) == Double.doubleToLongBits(0.01) 
Double.doubleToLongBits(0.02) > Double.doubleToLongBits(0.01) 
Double.doubleToLongBits(0.02) < Double.doubleToLongBits(0.01)

El tercer método:

Para el tipo doble, como doble d1 = 0.0000001, doble d2 = 0d Al juzgar si dos datos d1 y d2 son iguales, generalmente no se usa directamente

si(d1==d2)

cuarto camino

double a = 0.001; 
double b = 0.0011; 
BigDecimal data1 = new BigDecimal(a); 
BigDecimal data2 = new BigDecimal(b); 
data1.compareTo(data2) 
非整型数,运算由于精度问题,可能会有误差,建议使用BigDecimal类型!

 

--------------------------------------------No hay texto debajo--------- - ------------------------------------------------- -

Nota: Solo para estudio, registre preguntas y referencias, ¡anímese unos a otros!

Supongo que te gusta

Origin blog.csdn.net/qq_39715000/article/details/126197433
Recomendado
Clasificación