Peut-être que c'est une question idiote, mais je ne peux pas deviner comment la résoudre si cela ne crée pas une méthode. Peut-être y a-t-il une "manière naturelle" de le faire, comme en C par exemple. Voici le problème:
J'ai un var:
double a;
Et je veux le montrer seulement avec 2 ou 3 décimales. Quand j'essaye de le montrer:
Text.setText("Value of a: " + String.valueOf(a));
Cela donne quelque chose comme:
Valeur de a: 5.234966145
Et je voudrais juste
Valeur de a: 5.23
Sans changer la valeur réelle de a, il affiche le nombre approximatif mais fonctionne avec le nombre réel.
yourTextView.setText(String.format("Value of a: %.2f", a));
Vous pouvez utiliser un DecimalFormat , ou String.format("%.2f", a);
Avant d'utiliser DecimalFormat, vous devez utiliser l'importation suivante ou votre code ne fonctionnera pas:
import Java.text.DecimalFormat;
Le code pour le formatage est:
DecimalFormat precision = new DecimalFormat("0.00");
// dblVariable is a number variable and not a String in this case
txtTextField.setText(precision.format(dblVariable));
Pour afficher des chiffres jusqu'à deux décimales, deux possibilités s'offrent à vous: 1) Tout d'abord, vous souhaitez uniquement afficher les chiffres décimaux, le cas échéant. Par exemple - i) 12.10 à afficher en tant que 12.1, ii) 12,00 à afficher en tant que 12. Ensuite, utilisez-
DecimalFormat formater = new DecimalFormat("#.##");
2) Deuxièmement, vous souhaitez afficher les chiffres décimaux indépendamment de la présence décimale. Par exemple -i) 12.10 à afficher en tant que 12.10. ii) 12 à afficher comme 12.00.Puis utilisation-
DecimalFormat formater = new DecimalFormat("#.00");
utiliser celui-ci:
DecimalFormat form = new DecimalFormat("0.00");
etToll.setText(form.format(tvTotalAmount) );
Remarque: Les données doivent être au format décimal (tvTotalAmount)
textView2.setText(String.format("%.2f", result));
et
DecimalFormat form = new DecimalFormat("0.00");
textView2.setText(form.format(result) );
... cause l'erreur "NumberFormatException" dans les paramètres régionaux pour l'Europe, car le résultat est défini sous la forme d'une virgule au lieu d'un point décimal. Une erreur se produit lorsque textView est ajouté à number dans editText. Les deux solutions fonctionnent parfaitement aux États-Unis et au Royaume-Uni.