Como eu monto essa String?

2 respostas
vinnyparker

Olá a todos! vou contar uma breve historinha.

temos um banco em firebird que sera migrado para postgres.
em ambos os bancos eu tenho um cadastro de produtos.
no banco em fireird, o codigo do produto é sequencial iniciando em 1.
no banco em postgresql esse codigo sera composto da seguinte forma:

tipoproduto +algumacoisa que complete 4 digitos

nao pode ter menos que 4 digitos, e nao pode ter mais q 4 digitos.
No banco em firebird, os codigos variam de 1 a 4 digitos.
Teria como eu aproveitar o codigo desses produtos? OU

teria como montar incrementando após o tipo do produto, e que fosse até quatro digitos?
tenho 3 tipoproduto. entao eu teria 1+alguma coisa… 2+algumacoisa… e 3+allgumacoisa…

Se alguem puder me ajudar eu agradeço

2 Respostas

G

eu tenho uma ideia, busca do banco todos os codigos e todos os tipos concatena um no outro e faz um for pra colocar os dois ultimos digitos ou o ultimo digito faz uma mascara pra apenas 4 numeros e manda salvar em um arquivo txt e ve se deu certo

nel

Olá!

Na minha opinião, você foi pouco claro na sua dúvida, pois não entendi bem o que você precisa.
Agora, se o que precisa é garantir que o código tenha tamanho 4 antes de persisti-lo na base, é simples.

Conhece a classe StringUtils da apache?
Ela tem o método leftpad e o método rigthpad, da uma string, ele adiciona a esquerda ou direita um determinado valor para um tamanho x de uma string.

Vamos a um exemplo!

//Aqui, primeiro parametro indica minha string "original", o segundo, o tamanho que eu quero como resultado e o terceiro, o que vou adicionar
//a sua esquerda, caso seu tamanho seja inferior a 4.
String value = StringUtils.leftpad("1", 4, "0");
System.out.println(value);

//Resultado será: 0001

Se quiser adicionar a direita, basta usar o righpad e pode usar qualquer string para montar ela, ao invés de 0 poderia ser “ab” e assim por diante.
Abraços.

Criado 24 de agosto de 2010
Ultima resposta 24 de ago. de 2010
Respostas 2
Participantes 3