Ajuda - jsp

6 respostas
E

Prezados,
tenho um programa que consulta dados de uma pessoa e exibe os dados retornado em uma parte da JSP… acontece que tenho um campo que deve exibir o código completo (com os zeros - por exemplo: 005624), porém só está exibindo 5624…como estou iniciando agora, gostaria de saber se alguém pode me passar uma dica.

6 Respostas

gilsonk

Se o seu conteúdo é do tipo inteiro, converte ele para texto.

Veja este exemplo: http://www.guj.com.br/java/1416-como-converter-inteiro-para-string

R

Oi Eliane,

Esses dados estão vindo do banco de dados?

Se estiverem vindo, certifique-se de que o tipo da coluna que está guardando este valor seja do tipo varchar. Se for do tipo número (integer, decimal), o banco de dados não salvará os zeros a esquerda. Se tentar salvar, por exemplo, “000002” , ficará salvo apenas “2”.

Certifique-se também que os tipos que vc está utilizando no java também são string.

Se vc tiver certeza que no banco e no java (utilizando um debug ou system.out.println mesmo) os valores estão chegando com 0 na frente, e somente na jsp está vindo sem o zero. Veja se vc não está utilizando, sem querer, alguma biblioteca para conversão de valores.

Bom, esses são os motivos mais óbvios para o seu problema. Qualquer dúvida, pode falar.

ribclauport

Acredito que seja também oportuno relatar um problema se for fazer atribuições com zeros em java para tipos inteiros, pois se você fizer isso:

public class TesteInt {
	public static void main(String[] args) {
		int valor = 00123;
		System.out.println(valor);
	}
}

Lembre-se que no caso de obter esses valores como String por exemplo e for fazer algum tipo de cálculo, voce deve tomar cuidado na hora da atribuição, pois diferentemente de no banco que os zeros a esquerda são desprezados, no java isso vai ser processado como um octal…

Então deve-se fazer algo do tipo:

public class TesteInt {
	public static void main(String[] args) {
		int valor = Integer.valueOf(String.valueOf("00123"), 10);
		System.out.println(valor);
	}
}
<blockquote>
Saída: 123

</blockquote>

Somente para relatar.

Henrique.tenorio

elianemsantos2:
Prezados,
tenho um programa que consulta dados de uma pessoa e exibe os dados retornado em uma parte da JSP… acontece que tenho um campo que deve exibir o código completo (com os zeros - por exemplo: 005624), porém só está exibindo 5624…como estou iniciando agora, gostaria de saber se alguém pode me passar uma dica.

Se você tentar formatar um numero será que não ajuda?

ex:

System.out.printf("%02d", 5);

ou

String numeroFormatado = String.format("%02d", 5);

o flag “02” especifica o a quantidade de zeros iniciais, não sei se pode te ajudar…

Marlon_Meneses

só usar o DecimalFormat!

System.out.println(new DecimalFormat("000000").format(5624));
E

Pessoal, muito obrigada pela ajuda de todos… fiz as verificações indicadas pelo Renan, o erro era que o campo no banco de dados não era varchar, eu coloquei como varchar2, e nas JSPs eu alterei as variáveis de long para string. Deu certo. Obrigada.

Criado 7 de janeiro de 2013
Ultima resposta 15 de jan. de 2013
Respostas 6
Participantes 6