119 votes

Comment imprimer un double avec deux décimales dans Android ?

C'est peut-être une question idiote, mais je ne vois pas comment résoudre ce problème s'il ne crée pas de méthode. Il y a peut-être une "façon naturelle" de le faire, comme en C par exemple. Voici le problème :

J'ai une var :

double a;

Et je veux l'afficher uniquement avec 2 ou 3 décimales. Lorsque j'essaie de l'afficher :

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

Il donne quelque chose comme :

Valeur d'un : 5.234966145

Et je voudrais juste

Valeur d'un : 5.23

Sans changer la valeur réelle de a, il affiche le nombre approximatif mais fonctionne avec le nombre réel.

8voto

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

et

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

...provoque une erreur "NumberFormatException" dans les paramètres régionaux de l'Europe parce qu'elle définit le résultat comme une virgule au lieu d'un point décimal - l'erreur se produit lorsque textView est ajouté au nombre dans editText. Les deux solutions fonctionnent parfaitement dans les locales US et UK.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X