Truncar Decimales en Java

Con el método siguiente podrás truncar la cantidad de decimales que deseas tener de un decimal.

public double getDecimal(int numeroDecimales,double decimal){
decimal = decimal*(java.lang.Math.pow(10, numeroDecimales));
decimal = java.lang.Math.round(decimal);
decimal = decimal/java.lang.Math.pow(10, numeroDecimales);

return decimal;  }

Este método recibe 2  parámetros el primero un entero que indica cuantos numero decimales queremos y el otro es el numero decimal que queremos redondear; Lo que sucede en el método es que al elevar 10 al cuadrado el numero decimal lo estas multiplicando por 100 y luego lo redondeamos la parte entera y al ultimo lo dividimos para regresar el puntos decimal a su verdadero origen;
Ejemplo:
Mira si en número decimal decides que sean dos y decimal es 2.090909.
Como resultado saldría 2.09 en programación seria el siguiente código.System.out.print(getDecimal(2, 2.090909));

Resultado en consola:”2.09”.

saludos :)

7 comentarios »

  1. lesthack escribió

    creo que para que sea mas didáctica la cosa se debería mostrar la salida, es decir, cual es el resultado en cada uno de los casos. Saludos.

  2. Alejandro escribió

    Buena forma de abordar el problema. Como comenta lesthack podrías poner la salida para diferentes ejecuciones del código para ver como trabaja.

    También podrías probar esta clase DecimalFormat.

  3. sisjose escribió

    Buena observación @lesthack OK
    Este método recibe 2 clases de parámetros el primero un entero que indica cuantos numero decimales queremos y el otro es el numero decimal que queremos redondear; Lo que sucede en el método es que al elevar 10 al cuadrado el numero decimal lo estas multiplicando por 100 y luego lo redondeamos la parte entera y al ultimo lo dividimos para regresar el puntos decimal a su verdadero origen;
    Ejemplo:
    Mira si en número decimal decides que sean dos y decimal es 2.090909.
    Como resultado saldría 2.09 en programación seria el siguiente código.

    System.out.print(getDecimal(2, 2.090909));

    Resultado en consola:”2.09”.

  4. lesthack escribió

    Muy bien @Sisjose, solo que por que no poner eso en el post.

  5. sisjose escribió

    @Alejandro buen comentario, sobre la clase DecimalFormat. No la conocía

  6. Daniel escribió

    el DecimalFormat trabaja bien, aunque no me resuelve el siguiente problema que tengo. Espero alguno de ustedes pueda ayudarme.

    Entrada Salida

    25.092256 25.0923
    5 5.0000
    0 0.0000
    233445455983.12347 233445455983.1235

    dado un numero cualquiera asegurarse que salga si o si con 4 digitos por mas que el numero dado sea solo entero, en ese caso se tiene que aumentar ceros como decimales.
    espero me colaboren urgente gracias!!!! escribidme a danie-roch@hotmail.com

  7. Nick escribió

    Hoygan!! a la vista

    http://java.sun.com/j2se/1.4.2/docs/api/java/text/NumberFormat.html

    Así, rápido ahí esta el enlace.

RSS suscribirse para los comentarios en esta entrada · URI para TrackBack.

Dejar un comentario