2010-10-04 4 views

Répondre

44

%d est pour les entiers utilisent %f à la place, il fonctionne aussi bien pour les float et double types:

double d = 1.2; 
float f = 1.2f; 
System.out.printf("%f %f",d,f); // prints 1.200000 1.200000 
+0

BTW, il imprime seulement l'échelle 6 après le point décimal, pourrait imprimer plus comme ceci: '% .8f' (il imprime échelle 8). –

21

Oui, %d signifie décimal, mais cela signifie système de nombre décimal, non point décimal. En outre, en complément de l'ancienne publication, vous pouvez également contrôler le nombre de points décimaux à afficher. Essayez ceci,

System.out.printf("%.2f %.1f",d,f); // prints 1.20 1.2 

Pour plus s'il vous plaît se référer à la API docs.