2011-06-27 10 views
6
(Math.round(doubleValue*100))/100.0 

¿Hay una forma mejor de redondear decimales a 2 decimales?Redondeo a 2 lugares decimales

+1

¿Definir mejor? ¿Qué crees que está mal con ese código? – Mikola

+0

quieres decir 1000 para cambiar en 1 o 10.123456 a 10.12? –

+0

Pregunta similar, Redondeo por dinero, en http://stackoverflow.com/q/5904032/509840. – rajah9

Respuesta

3
DecimalFormat format=new DecimalFormat("#.##"); 
System.out.println(format.format(doubleValue)); 
+1

Consulte http://ideone.com/BzNmF –

+1

No necesita importar nada de 'java.lang'. –

+0

Nota: esto no redondea los números. Simplemente muestra cadenas que han sido formateadas con una cierta precisión. La respuesta de John Skeet es la forma apropiada de redondear a un número explícito de decimales sin el acto de malabarismo de multiplicar-dividir-dividir por OP. – Atreys

7

Si usted está interesado en decimales y valores decimales, por tanto, precisos, normalmente se debe utilizar java.math.BigDecimal para empezar. A continuación, puede utilizar Decimal.round o Decimal.setScale para redondear según sus necesidades exactas.

Cuestiones relacionadas