PDA

Ver la versión completa : DecimalFormat en Java



Doblador
01/05/2009, 11:45
Buenas a todos:

LLevo pegándome algo de tiempo con la clase DecimalFormat de Java (http://java.sun.com/j2se/1.5.0/docs/api/java/text/DecimalFormat.html)

El caso es que los patterns que se le pasa al constructor de la clase me están volviendo absolutamente loco! :disparo:

Comento por encima:

DecimalFormat decimales = new DecimalFormat("###,#");

return Double.parseDouble(decimales.format((12-Math.abs(hora-12.0))*1.7+5.0));


Le doy el formato que necesito al Double que quiero obtener. Aplico format a decimales y me devuelve un String. Convierto el String a Double.

Si no uso el DecimalFormat, me da unos números con varios decimales muy majos ellos. Le paso DecimalFormat, y me saca un sólo decimal, a base de cargarselos todos y convertilos en ceros!! Además, para rematar la faena, con ese formato me da los números divididos entre 10.

A ver si alguno me podeis echar un cable, gracias!

Doblador
01/05/2009, 11:59
Más info:

Cuando el número es mayor que 10, el programa decide que eso no va con él, y si tengo 11.8 me lo convierte a 1.2, o si tengo 25.29 lo convierte en 2.5... A los menores que 10, los redondea como si fueran 10 veces mayores, 9,2 lo pasa a 9,0 y 11,8 a 1,2.

No se qué parte no comprendo del código.