Cómo imprimir un doble con dos decimales en Android?

Tal vez esta es una pregunta tonta, pero no puedo adivinar cómo solucionarlo si no está creando un método. Tal vez hay una "forma natural" de hacerlo, como en C por ejemplo. Aquí está el problema:

Tengo una var:

double a; 

Y quiero mostrarlo sólo con 2 o 3 decimales. Cuando trato de mostrarlo:

 Text.setText("Value of a: " + String.valueOf(a)); 

Da algo como:

Valor de un: 5.234966145

Y yo solo querría

Valor de a: 5,23

Sin cambiar el valor real de un, por lo que muestra el número aproximado, pero trabaja con el número real.

 Text.setText( String.format( "Value of a: %.2f", a ) ); 

Puede utilizar un DecimalFormat o String.format("%.2f", a);

Antes de usar DecimalFormat necesitas usar la siguiente importación o tu código no funcionará:

 import java.text.DecimalFormat; 

El código para el formato es:

 DecimalFormat precision = new DecimalFormat("0.00"); // dblVariable is a number variable and not a String in this case txtTextField.setText(precision.format(dblVariable)); 

Para mostrar el dígito hasta dos decimales, hay dos posibilidades: 1) En primer lugar, sólo desea mostrar dígitos decimales si está allí. Por ejemplo – i) 12.10 para ser mostrado como 12.1, ii) 12.00 para ser mostrado como 12. Entonces use-

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

2) En segundo lugar, desea mostrar dígitos decimales independientemente del decimal presente Por ejemplo -i) 12.10 para mostrarse como 12.10. Ii) 12 para que se muestre como 12.00.

 DecimalFormat formater = new DecimalFormat("#.00"); 

usa este:

 DecimalFormat form = new DecimalFormat("0.00"); etToll.setText(form.format(tvTotalAmount) ); 

Precaución: Los datos deben estar en formato decimal (tvTotalAmount)

 textView2.setText(String.format("%.2f", result)); 

y

 DecimalFormat form = new DecimalFormat("0.00"); textView2.setText(form.format(result) ); 

… causa el error "NumberFormatException" en la configuración regional para Europa porque establece el resultado como coma en lugar de punto decimal – el error se produce cuando textView se agrega al número en editText. Ambas soluciones están funcionando excelente en la localidad de EE.UU. y Reino Unido.

  • Establecer el texto de la hiladora antes de seleccionar el elemento
  • ¿Por qué setText () no funciona en el código siguiente en el TextView?
  • Cambiar texto de otra actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.