2010-08-30 20 views
9
Float sum = new Float(300); // always somehow calculated 
DecimalFormat df = new DecimalFormat("#.#"); 
String s = df.format(sum/3); // prints 100, I want 100.0 
s = df.format(301/3); // pritns 100.3 which is correct 

El resultado siempre debe tener el formato de 1 decimal, ¿cómo hacerlo?¿Cómo mostrar siempre la parte decimal al usar DecimalFormat?

Respuesta

31

Cambio

DecimalFormat df = new DecimalFormat("#.#"); 

a

DecimalFormat df = new DecimalFormat("#.0"); 

Básicamente, un 0 significa "siempre muestran el dígito en esta posición", donde un # significa "mostrar el dígito en esta posición a menos es cero ".

+0

gracias, trabajado y entiendo ahora ... – Xorty

+0

por cierto si el resultado es 0 y el resultado de formateo es ("# .0") no será nada? ¿Debo usar ("0.0") en su lugar? – Xorty

+0

, entonces obtendrás .0 si el resultado es 0. Si siempre quieres 0.0, entonces debes cambiarlo a ("0.0"); – CoolBeans

6

Puede leer sobre los patrones here. Cambie la siguiente línea para hacer el truco.

DecimalFormat df = new DecimalFormat("#.0"); 
Cuestiones relacionadas