2016-07-29 32 views
0

Ich habe versucht, zwei verschiedene Arten der Formatierung einiger Zahlen, um ähnlich wie Geld, so auf 2 Dezimalstellen zu zeigen. Aber ich habe versucht,String.format() und DecimalFormat nicht tatsächlich Formatierung

EditText.setText (String.format("%.2f, number))

sowie die EditText Feld Einstellung als:

DecimalFormat precision = new DecimalFormat("0.00"); 
EditText.setText(String.valueOf(precision.format(number)); 

und weder schien als Einstellung zu einer 1 Dezimalstelle alles, alles noch defaults zu tun, dh) 30,0, und wenn sie etwas anderes wird es gehen, um 3 oder mehr Dezimalstellen dh) 30,243

+0

Ihre Frage nicht bekommen, und was wollen Sie ??. – Andolasoft

+0

Ich denke, Ihr Code ist korrekt, bitte überprüfen Sie es vorsichtig –

Antwort

3

@Mason Richardson

Haben Sie setMinimumFractionDigits() versucht, die minimale Fraktionen für Ihren Wert setzt

DecimalFormat precision = new DecimalFormat("#.##"); 
dec.setMinimumFractionDigits(2); 
EditText.setText(String.valueOf(precision.format(number)); 
+0

Perfekt, das hat es geschafft, danke! –

+0

@MasonRichardson Willkommen Kumpel – eLemEnt

1

Versuchen sie, diesen

DecimalFormat precision = new DecimalFormat("0.##"); 
edittext.setText(precision.format(number)); 
0

die Sie interessieren,

 double rews = 100.89478; 
     String ada = new DecimalFormat("##.##").format(rews); 
     System.out.println(ada); 

Ausgabe

100.89 

Hier .## so wird es 2 Dezimalpunkte geben. Wenn Sie 3 hinzufügen möchten, verwenden Sie .###.

1

Wenn Sie 5,00 als 5 & 5.10 als 5.1 dann angezeigt werden sollen verwenden:

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

Wenn Sie 5,00 als 5,00 & 5,10 als 5,10 dann angezeigt werden sollen verwenden:

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

Ihr Code scheint korrekt, aber bitte schauen Sie hier,

System.out.printf("Floating point number with 2 decimal digits: %.2f\n",1.21312939123); 
    System.out.printf("Floating point number with 3 decimal digits: %.3f\n",1.21312939123); 
    System.out.printf("Floating point number with 8 decimal digits: %.8f\n",1.21312939123); 
    System.out.printf("String: %s, integer: %d, float: %.6f", "Hello World",89,9.231435); 

Ausgang:

Floating point number with 2 decimal digits: 1.21 
Floating point number with 3 decimal digits: 1.213 
Floating point number with 8 decimal digits: 1.21312939 
String: Hello World, integer: 89, float: 9.231435