¿Cómo se rellena un int
con ceros al convertirlo en un String
en java?
Básicamente quiero rellenar los enteros hasta 9999
con ceros a la izquierda (por ejemplo, 1 = 0001
).
Utilice java.lang.String.format(String,Object...)
así:
String.format("%05d", yournumber);
para el relleno de cero con una longitud de 5. Para la salida hexadecimal sustituir la d
por una x
como en "%05x"
.
Las opciones de formato completas están documentadas como parte de java.util.Formatter
.
Si por alguna razón utiliza Java anterior a la versión 1.5, puede probar con el método Apache Commons Lang
org.apache.commons.lang.StringUtils.leftPad(String str, int size, '0')
Encontré este ejemplo... Lo probaré...
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));
}
}
Probado esto y:
String.format("%05d",number);
Ambos funcionan, para mis propósitos creo que String.Format es mejor y más sucinto.