Foros del Web » Programación para mayores de 30 ;) » Java »

Raices en java

Estas en el tema de Raices en java en el foro de Java en Foros del Web. Hola amigos. Cuando intento hacer una raíz en Java, me salen decimales. Por ejemplo: 5^3=125 Y si intento sacar la raíz cúbica de 125, me ...
  #1 (permalink)  
Antiguo 16/02/2012, 07:13
Turriano
Invitado
 
Mensajes: n/a
Puntos:
Raices en java

Hola amigos.
Cuando intento hacer una raíz en Java, me salen decimales.

Por ejemplo:
5^3=125

Y si intento sacar la raíz cúbica de 125, me da un número decimal:

println( Math.pow(125.0,(1/3.0)) );
Y el resultado que me da: 5.000000239824944

Ya sé que es muy poco, pero... ¿No debería dar exacto?.

Gracias por leerme.
  #2 (permalink)  
Antiguo 16/02/2012, 08:27
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Raices en java

Pues depende de la precisión de los tipos de datos. Tienes que pensar que un número en el ordenador no se puede guardar con todos los decimales reales que tiene porque no habría espacio suficiente. Por ejemplo, un número con decimales infinitos no pueden guardarse de manera completa, como es el caso del número (1/3), que es 0,333333333.... es decir, es periódico.

Por eso, si quieres más precisión debes utilizar tipos de datos de mayor precisión como double y en caso necesario, existen clases para números mayores.

Saludos
  #3 (permalink)  
Antiguo 16/02/2012, 08:44
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 5 meses
Puntos: 24
Respuesta: Raices en java

Siempre existe la posibilidad de redondear el resultado, primero define con cuántos decimales quieres trabajar.
  #4 (permalink)  
Antiguo 16/02/2012, 15:41
Turriano
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Raices en java

¡Ah!.
No había caído que era periódico...
Como 5^3 es 125, no he pensado ninguna otra cosa y esperaba que me diese 5.
¡Gracias por tu pronta respuesta!.
  #5 (permalink)  
Antiguo 17/02/2012, 00:04
 
Fecha de Ingreso: mayo-2010
Mensajes: 22
Antigüedad: 14 años
Puntos: 1
Respuesta: Raices en java

Si quieres que te de 5 exacto, convierte tu resultado en entero y olvidate de los decimales
  #6 (permalink)  
Antiguo 17/02/2012, 09:27
Turriano
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Raices en java

Si... Lo haré así.
¡Gracias frikiantrax!.

Última edición por Turriano; 17/02/2012 a las 09:28 Razón: ¡Me comí una "h"!.

Etiquetas: raices
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:46.