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

como redondedear decimales

Estas en el tema de como redondedear decimales en el foro de Java en Foros del Web. hola a todos hay alguna funcion que me permita redondear decimales...
  #1 (permalink)  
Antiguo 04/05/2006, 13:02
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 20 años
Puntos: 0
De acuerdo como redondedear decimales

hola a todos hay alguna funcion que me permita redondear decimales
__________________
javier
  #2 (permalink)  
Antiguo 04/05/2006, 13:14
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Seguro que buscando en la Api ...
Pero mientras tanto puedes implementar este método

Código:
//http://pjsml.50megs.com/java/proyectil.html
...
public static double redondear(double num)
    {
        double aux = num * 100;
        int tmp = (int) aux;
    
        return (double) tmp / 100;     
    }    
...
  #3 (permalink)  
Antiguo 04/05/2006, 14:33
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Hola:

Si sólo es para presentación en pantalla, puedes usar la clase DecimalFormat. La creas pasándole un patrón estilo

DecimalFormat formateador = new DecimalFormat ("#####.##"); // hasta cinco cifras enteras y dos decimales

y luego escribes así

System.out.println (formateador.format (elNumero));

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 05/05/2006, 08:58
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 20 años
Puntos: 0
Gracias por la ayuda si tienes mas ideas seria mejor
es de urgencia
__________________
javier
  #5 (permalink)  
Antiguo 05/05/2006, 09:08
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Otra idea seria poder precisar el nº de decimales que deseas

por ejemplo :
Código:
import java.lang.Math;
...

//...
double x=1,0123456789;

System.out.println(redondear(x,3));

public static double redondear(double num,int ndecimal)
    {
        double aux0 = Math.pow(10,ndecimal);
        double aux = num * aux0;
        int tmp = (int) aux;
    
        return (double) (tmp / aux0) ;     
    }
te deberia devolver 1,012
  #6 (permalink)  
Antiguo 05/05/2006, 13:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
http://java.sun.com/j2se/1.4.2/docs/...igDecimal.html

Cita:
The BigDecimal class gives its user complete control over rounding behavior, forcing the user to explicitly specify a rounding behavior for operations capable of discarding precision (divide(BigDecimal, int), divide(BigDecimal, int, int), and setScale(int, int)). Eight rounding modes are provided for this purpose.

Two types of operations are provided for manipulating the scale of a BigDecimal: scaling/rounding operations and decimal point motion operations. Scaling/rounding operations (setScale) return a BigDecimal whose value is approximately (or exactly) equal to that of the operand, but whose scale is the specified value
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 12:47.