Introducción
En este post voy a explicar cómo, a partir de un número double, podemos obtener o separar la parte entera de la parte decimal. Todo esto usando el lenguaje Java, el cual se aplica tanto para JSP, aplicaciones de escritorio o incluso Android.
Por poner un ejemplo, a un número como 3.1416
lo vamos a separar en su parte entera (3
) y en su parte decimal o fraccionaria (.1416
).
Para obtener la parte fraccionaria y la parte entera no vamos a usar cadenas; sino simples matemáticas, ya que con las cadenas se cometen errores cuando la parte decimal tiene ceros a la izquierda.
Separar parte entera y decimal de un número en Java
Para obtener la parte entera y decimal tenemos que usar puras matemáticas, pues no existe la función modf como en Python o C.
El primer paso es obtener la parte decimal, eso se obtiene tomando lo que resta al dividir el número entre 1.
Después, lo segundo es lo más sencillo, pues para obtener la parte entera se resta la parte decimal del número original.
class Main {
public static void main(String[] args) {
double numero = 3.1416;
System.out.printf("El número originalmente es: %f\n", numero);
double parteDecimal = numero % 1; // Lo que sobra de dividir al número entre 1
double parteEntera = numero - parteDecimal; // Le quitamos la parte decimal usando una resta
System.out.printf("Parte entera: %f. Parte decimal: %f\n", parteEntera, parteDecimal);
}
}
Así queda el código.
Eso es todo por hoy. Te invito a leer más sobre Java o Matemáticas.