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”.
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.
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.
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”.
lesthack escribió
Muy bien @Sisjose, solo que por que no poner eso en el post.
sisjose escribió
@Alejandro buen comentario, sobre la clase DecimalFormat. No la conocía
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
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.