La pregunta has been answered for integers printed in decimal format, pero estoy buscando una elegante manera de hacer lo mismo con los números enteros en formato no decimal (como binarios, octales, maleficio).enteros izquierda de relleno (formato no decimal) con ceros en Java
La creación de este tipo de cadenas es fácil:
String intAsString = Integer.toString(12345, 8);
crearía una cadena con el represenation octal del valor entero 12345. Pero, ¿cómo darle formato para que la cadena tiene como 10 dígitos, además de calcular el número de ceros necesarios y ensamblar una nueva cadena 'a mano'.
Un caso de uso típico sería la creación de números binarios con un número fijo de bits (como 16, 32, ...) donde uno quisiera tener todos los dígitos, incluidos los ceros a la izquierda.
Lo que quiere decir con la solución "elegante" es una función de biblioteca. Creo que no hay una solución más elegante que calcular los ceros necesarios y concatenarlos previamente. De todos modos, si hubiera un truco/algoritmo matemático para hacer lo que quiere hacer, sería diferente para binario y octal y hexadecimal ... – pakore
@pakore - sí, tiene razón, alguna función de 'biblioteca' ya está presente en la API de Java sería 'más elegante' para mí;) - Odio volver a implementar este código de relleno una y otra vez. –
Bueno, eche un vistazo a la clase NumberFormat, cree una clase OctalFormat, HexFormat y BinaryFormat con los métodos para agregar ceros, crear una propuesta de función, enviar su código, esperar un par de meses, actualizar sus bibliotecas y luego lo tendrá como una función de biblioteca :). O puede crear su propia biblioteca auxiliar para su proyecto: P – pakore