¿Que formato usar para 2 decimales o ninguno?

Estoy tratando de formatear un numero usando printf pero no puedo encontrar la máscara correcta.

Por ejemplo

 

Imprime

 

Que formato usar para imprimir:

 

O de ser posible

 

?

Background:

Quiero mostar tamaños de archivo así:

 

Que sobra decirlo, se ve horrible cuando el archivo es un directorio o mide menos de 1 kb

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

No hay forma

No hay una forma ni con DecimalFormat ni con String.format().

Si usas   te imprime por ejemplo 2.53 o 2, pero para 2.50000 te imprime 2.5, es la bronca. Si necesitas 2.50 entonces creo que lo mejor será que uses un BigDecimal:   (o el modo que tú quieras) y a eso le das  . Pero entonces para n=2.0 te imprime 2.00.

Lo más fácil es que hagas un  , ni modo...

Creo que new

Creo que   también funcionaría, pero ya no lo intenté, de hecho #.## es lo que busco, aunque no quería encadenarlo a otro formatter ( el de printf )

En fin, lo usé para esto:

:)

DecimalFormat

Claro es  para poder usar dos decimales o mas, tambien puede que ninguno:
declaras la variable global o como la utilices:
 

lo mismo para 3, 4 o 5 decimales
 

pudes observar que ("0.00000") puedes modificarlo para los decimales que deseas que tenga.

>.<

Gracias Lvctu si, de hech

Gracias Lvctu si, de hech estaba buscand hacer eso directamente desde el printf, pero al final lo hice como mencionas.