¿Un tipo de datos numérico más preciso que el doble?

¿Hay un tipo de datos en Java que almacene un número decimal con mayor precisión que un double ?

Respuesta 1

Sí, use la clase java.math.BigDecimal . Puede representar números con gran precisión.

Si solo necesita números enteros enormes, puede usar java.math.BigInteger en su lugar.

Ambos extienden java.math.Number .

Incluso puede usar sus dobles existentes si necesita:

double d = 67.67;
BigDecimal bd = new BigDecimal(d);

Y puede obtener valores BigDecimal de las bases de datos con JDBC:

ResultSet rs = st.executeQuery();
while(rs.next()) {
    BigDecimal bd = rs.getBigDecimal("column_with_number");
}

Desafortunadamente, dado que Java no admite la sobrecarga del operador, no puede usar símbolos regulares para operaciones matemáticas comunes como lo haría en C # y el decimaltipo.

Deberá escribir un código como este:

BigDecimal d1 = new BigDecimal(67.67);
BigDecimal d2 = new BigDecimal(67.68);
BidDecimal d3 = d1.add(d2); // d1 + d2 is invalid
Respuesta: 2

Sí: la clase java.math.BigDecimal.

Respuesta: 3

Use BigDecimal, ofrece una precisión mucho mejor

Respuesta: 4

Sí, puede usar una clase de precisión arbitraria como BigDecimal .

Respuesta: 5

puedes usar un BigDecimal

Para calcular con BigDeciamls, esta clase proporciona métodos especiales que se utilizan en lugar de los operadores estándar, por ejemplo + - * / ..., de int, double, etc.

Respuesta: 6

AH! Tengo una lista de cadenas ... y solo quiero eliminar un elemento de la lista si es "" pero sigo causando que el programa se bloquee. ¿Cómo puedo evitar esto? Hice una lista de matrices en una lista ...

¿Cómo se asegura el entorno Java cuando se ejecuta en una máquina que no controla? Qué es evitar que alguien cree un agente de Java o un agente JVMTI nativo y descarte el bytecode o reescriba ...

En java, constantes conocidas como palabra clave (final) con un valor que nunca cambiará. He visto a algunas personas crear constantes sin declarar un modificador estático. Mi pregunta es, si las constantes deben ser ...

Estoy tratando de crear un hash md5 [único] de múltiples cadenas [en Java]. Es decir, quiero md5 (cadena1, cadena2, cadena3, ..., cadenaN) Actualmente estoy tratando de concatenar todas las cadenas con algunas raramente ...