Estou tentando fazer um arquivo de remessa de boletos, e preciso formatar um valor, ele precisa ocupar 10 campos e recebo inteiros de 5 campos, os restantes á direita devem ser completados com espaço em branco.
estou tentando usar o NumberFormat:
NumberFormat docum = new DecimalFormat(" ");
docum.setMinimumIntegerDigits(10);
String numeroDocumento = docum.format(documentos);
mas continua preenchendo de zeros e á esquerda :?
como faço pra preencher de espaços??
Valeu
Você quer isto aqui (onde o b representa um espaço em branco)
78987bbbbb
ou isto aqui:
bbbbb78987
É que para o segundo caso, você pode usar simplesmente
String s = String.format ("%10d", 78987);
No primeiro caso, é um pouquinho mais chato porque os espaços são postos à direita. Mas se é esse o caso, experimente com:
String s = String.format ("%-10d", 78987);
Não se esqueça do sinal de menos.
Hum… o que é um “inteiro de 5 campos”? Eu poderia ter algo como “00001”? E você queria que fosse impresso como
1bbbbbbbbb
ou
00001bbbbb
Se for o primeiro caso, String.format ("%-10d", 1) é suficiente. Mas se for o segundo caso, use
String.format ("%05d ", 1) (eu pus manualmente os 5 espaços).