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

como puedo redondear decimales=

Estas en el tema de como puedo redondear decimales= en el foro de Java en Foros del Web. Gente del Foro Estoy desesperado, pues no logro que java me redondee un decimal y me permita guardarlo en una variable con tan solo dos ...
  #1 (permalink)  
Antiguo 25/05/2006, 16:49
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta como puedo redondear decimales=

Gente del Foro

Estoy desesperado, pues no logro que java me redondee un decimal y me permita guardarlo en una variable con tan solo dos lugares deciimales...
Como se haceeee???
PLIIISSS
Gracias?
  #2 (permalink)  
Antiguo 26/05/2006, 08:25
 
Fecha de Ingreso: mayo-2006
Mensajes: 28
Antigüedad: 17 años, 11 meses
Puntos: 0
pasalo a string y busca el punto decima y coje 2 posiciones mas del string y luego si te hace falta lo vuelves a pasar a floar
  #3 (permalink)  
Antiguo 27/05/2006, 01:39
Avatar de Germaneitor  
Fecha de Ingreso: mayo-2006
Mensajes: 4
Antigüedad: 17 años, 11 meses
Puntos: 0
redondear

lo puedes hacer con el metodo pow, de la clase MATH, asi: math.pow(numero)
  #4 (permalink)  
Antiguo 27/05/2006, 10:30
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
En Java ni el metodo pow sirve para redondear decimales, ni la clase se llama MATH, ni se le llama con math.pow, y para terminar el metodo pow tiene dos argumentos y no uno.

¿Quiza estas hablando de otro metodo que no es de Java?
  #5 (permalink)  
Antiguo 14/05/2008, 01:25
Avatar de Llave  
Fecha de Ingreso: abril-2005
Ubicación: Galicia
Mensajes: 52
Antigüedad: 19 años
Puntos: 1
De acuerdo Re: como puedo redondear decimales=

Rebuscando en otras páginas, encontré un par de métodos para lograr redondear valores en coma flotante.

Esta es una forma. Autor: Alexander Hristov
Código PHP:
public double redondeardouble numeroint decimales 
{
    return 
Math.round(numero*Math.pow(10,decimales))/Math.pow(10,decimales);

Y esta es otra forma que puso otro autor, un tal Rafael. Utilizando BigDecimal.
Código PHP:
public double redondea(double numeroint decimales

  
double resultado;
  
BigDecimal res;

  
res = new BigDecimal(numero).setScale(decimalesBigDecimal.ROUND_UP);
  
resultado res.doubleValue();
  return 
resultado

Fuente: http://www.ahristov.com/tutoriales/Trucos%2Bcortos%2Bde%2BJava/Redondear%2Bun%2Bn%FAmero%2Ba%2BN%2Bdecimales.html
Nota: Los métodos no son mios. No me apropio de código ajeno.

Última edición por Llave; 14/05/2008 a las 01:26 Razón: Corrijo código. Añado fuentes.
  #6 (permalink)  
Antiguo 14/05/2008, 11:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: como puedo redondear decimales=

La duda la tenia en Mayo de 2006... no creo que a estas alturas espere una respuesta .
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 15/05/2008, 03:40
Avatar de Llave  
Fecha de Ingreso: abril-2005
Ubicación: Galicia
Mensajes: 52
Antigüedad: 19 años
Puntos: 1
Sonrisa Re: como puedo redondear decimales=

Naaaa, si yo es por cerrar un tema. Esa duda aparece buscando en el google, así, si más gente llega a ella, podrán satisfacer su curiosidad
  #8 (permalink)  
Antiguo 15/05/2008, 09:29
 
Fecha de Ingreso: mayo-2008
Mensajes: 4
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: como puedo redondear decimales=

Tendrías que pasar el valor doble a un Objeto BigDecimal, para despues aplicar el método de redondeo (hacia arriba o hacia abajo) de la siguiente forma:

double doubleSinRedondear = 4.5687;

BigDecimal bd = new BigDecimal(doubleSinRedondear);

double doubleRedondeado = bd.setScale(4,BigDecimal.ROUND_HALF_UP)
quedaría: 4.5690

o

double doubleRedondeado = bd.setScale(4,BigDecimal.ROUND_HALF_DOWN)
quedaría: 4.5685
  #9 (permalink)  
Antiguo 30/05/2008, 23:38
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 15 años, 10 meses
Puntos: 0
De acuerdo Respuesta: como puedo redondear decimales=

hola aunque se que es algo tarde, gracias, muy buen aporte amigo me ayudo mucho .
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:03.