2017-10-14 6 views
0

Ich habe eine zufällige Zeiterfassung Generator in Java und ich möchte die Eigenschaften in einer Zeile regelmäßig mit printf drucken. Und ich habe eine doppelte Variable, die ich nicht mit% d drucken kann. Hier ist ein Beispiel aus meinem Code:Doppel mit printf und Ausrichtung einer Zeile mit printf in Java

double average; 
ArrayList<Double> average1=new ArrayList<Double>(); 

//for loop 
System.out.printf("%s%10s%10d%5d%5d%5d%5d%15f%10s\n",name1.get(j),lastname1.get(j),quiz1.get(j),quiz2.get(j),project.get(j),midterm.get(j),final.get(j),average.get(j),lettergrade.get(j)); 

Erste 2 Zeile der Ausgabe:

Ypu MBQLCKU  33 53 54 20 81  48,000000   D 
Pgkff  YDH   1 35 55 40 56  37,000000   D 
//.....so on so forth 

Und ich möchte, dass sie arrangieren mag:

Ypu  MBQLCKU  33 53 54 20 81  48,00   D 
Pgkff YDH   1 35 55 40 56  37,00   D 

Und% f gibt mir so viele 0 ist nach dem Komma. Ich brauche eine exakte Doppelnummer zum Ausdrucken wie 57,34. Was soll ich an dieser linken Seite von printf code ändern?

Antwort

0

Wenn Sie Zahlen beschränken möchten, die die folgende Formatierer Nachkommastelle Verwendung kommen:

double y=25.1299; 
System.out.printf("y=%.2f ",y); 

Wo Nummer 2 Sie 2 Felder für Zahlen gibt, die nach dem Komma kommen.