web-dev-qa-db-fra.com

N'afficher que deux chiffres après le point décimal

Comment obtenir la double valeur qui n’est que deux chiffres après le point décimal.

par exemple

si

i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));

ce code générant 5.81403333.

Mais je veux seulement 5.81.

Alors que dois-je faire?

81
URAndroid

Utilisez DecimalFormat .

DecimalFormat est une sous-classe concrète de NumberFormat qui formate les nombres décimaux. Il comporte une variété de fonctionnalités conçues pour permettre l’analyse et le formatage de numéros dans n’importe quel environnement local, notamment la prise en charge des chiffres occidentaux, arabes et indiens. Il prend également en charge différents types de nombres, notamment les nombres entiers (123), les nombres à virgule fixe (123,4), la notation scientifique (1.23E4), les pourcentages (12%) et les montants en devises (123 $). Tous peuvent être localisés.

Extrait de code -

double i2=i/60000;
tv.setText(new DecimalFormat("##.##").format(i2));

Sortie -

5,81

169

Que diriez-vous de String.format("%.2f", i2)?

116
dumazy

Ici, je vais vous montrer que faire pour que votre virgule décimale ne soit pas plus courte, me voici plus courte à 4 valeurs après décimales.

   double value = 12.3457652133
  value =Double.parseDouble(new DecimalFormat("##.####").format(value));
26
Pir Fahim Shah

Je pense que la solution la meilleure et la plus simple est (KISS):

double i = 348842;
double i2 = i/60000;
float k = (float) Math.round(i2 * 100) / 100;
10
Sergii Stotskyi

Cela renverra une valeur au lieu d'un simple formatage.

double number1 = 10.123456;
double number2 = (int)(Math.round(number1 * 100))/100.0;
System.out.println(number2);
10
Prashant Ghimire
i=348842.
double i2=i/60000;
DecimalFormat dtime = new DecimalFormat("#.##"); 
i2= Double.valueOf(dtime.format(time));
v.setText(String.valueOf(i2));
5
MAC

La première chose qui devrait apparaître dans une tête de développeur lors du formatage d'un nombre en séquence de caractères doit être soignée, comme dans le cas contraire, il sera possible d'inverser l'opération.

Et un autre aspect fournit un résultat correct. Donc, vous voulez tronquer le nombre ou l’arrondir.

Donc, avant de commencer, vous devriez vous demander, êtes-vous intéressé par la valeur ou non.

Pour atteindre votre objectif, vous avez plusieurs options, mais la plupart d'entre elles font référence à Format et Formatter , mais je suggère simplement de regarder dans cette réponse .