¿Cómo puedo tener un número entero de dos dígitos en una cadena, incluso si el número entero es menor que 10?
[NSString stringWithFormat:@"%d", 1] //should be @"01"
Respuestas:
Creo que los especificadores stringWithFormat son los especificadores estándar IEEE printf . Has probado
[NSString stringWithFormat:@"%02d", 1];
Utilice la cadena de formato %02d
. Esto especifica que se formatee un entero con un ancho de campo mínimo de 2 caracteres y que se rellenen los valores formateados con 0 para cumplir con ese ancho. Consulte man fprintf
todos los detalles sangrientos de los especificadores de formato.
Sin embargo, si está formateando números para presentarlos al usuario, realmente debería usar NSNumberFormatter
. Las diferentes configuraciones regionales tienen expectativas muy diferentes sobre cómo se deben formatear los números.
[NSString stringWithFormat:@"%00.02d", intValue]
Esto me ayuda a convertir 1 en 01.