Come si fa a riempire un int
con degli zeri quando si converte in una stringa
in java?
In pratica sto cercando di imbottire gli interi fino a 9999
con gli zeri iniziali (ad esempio 1 = 0001
).
Usate java.lang.String.format(String,Object...)
come questo:
String.format("%05d", yournumber);
per lo zero-padding con una lunghezza di 5. Per l'output esadecimale sostituite la d
con una x
come in "%05x"
.
Le opzioni di formattazione complete sono documentate come parte di java.util.Formatter
.
Se per qualche motivo usate Java pre 1.5, allora potete provare con il metodo Apache Commons Lang
org.apache.commons.lang.StringUtils.leftPad(String str, int size, '0')
Ho trovato questo esempio... Lo testeremo...
import java.text.DecimalFormat;
class TestingAndQualityAssuranceDepartment
{
public static void main(String [] args)
{
int x=1;
DecimalFormat df = new DecimalFormat("00");
System.out.println(df.format(x));
}
}
Testato questo e:
String.format("%05d",number);
Entrambi funzionano, per i miei scopi penso che String.Format sia migliore e più succinto.