paribe
#1
Caros,
uma duvida tenho que preencher
um arquivo texto com campos formatados
exemplo:
0001RUA SEM SAIDA
o campo numero já preenchi com zeros a esquerda
minha duvida é o campo String que tem 32 posições
por exemplo:
RUA SEM SAIDA
tem 13 posições como posso fazer pra preencher
com 19 espaços na frente pra completar 32 posições…
abs
[code]String campo = “Vinicius”;
while (campo.length() < 32) {
campo = " " + campo;
}[/code]
thingol
#3
Concatene com uma string de 32 espaços, e a seguir obtenha as primeiras 32 posições da string resultante.
String espacos32 = "........"; // ponha 32 espaços aqui, oras!
String s = "RUA SEM SAIDA";
s += espacos32;
s = s.substring (0, 32);
Outra forma é fazer isto aqui:
String s = "RUA SEM SAIDA";
s = String.format ("%-32.32s", s);
mas admito que isso é um pouco mais difícil de entender e mais lento.
thingol
#4
Para preencher um campo numérico com zeros à esquerda, o modo mais correto é usar String.format. Exemplo:
int n = 1;
String s = String.format ("%04d", n); // deve resultar "0001", ou seja: 0 = zeros à esquerda, 4 = 4 posições, d = número inteiro.
Josueh
#5
sem pensar duas vezes, o String.format (…) é a melhor solução
…só em lembrar da linguagem C, parece até que a função(metodo) executa mais rápido