Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/04/2013, 17:12
Avatar de henrri
henrri
 
Fecha de Ingreso: enero-2011
Mensajes: 40
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Convertir double a int

Cita:
Iniciado por andrexsos17 Ver Mensaje
@henrri Gran idea pero no seria aplicable si la cantidad de decimales cambia, que es lo mas común.

Saludos.
Código:
public int metodo(String num) {
        int posPuntoDecimal = num.indexOf("."); //obtengo posicion del punto si en caso es coma cambiarlo
        if (posPuntoDecimal == -1) {    //sin en caso no hay punto quiere decir que es un entero
            return Integer.parseInt(num);
        }
        int potencia = num.length() - posPuntoDecimal - 1;  //calculo la cantidad de decimales que tiene
        if (potencia == 0) {    //si en caso el numero es de la fomra   153.  me retorna 0
            return (int) Double.parseDouble(num);
        }
        return (int) (Double.parseDouble(num) * Math.pow(10, potencia));    //y multiplico el numero por un 10^(a la cantidad de decimales)
    }
te sugiero que mejores el metodo

Última edición por henrri; 09/04/2013 a las 17:19