Convertendo uma String em inteiro e formatando

14 respostas
J

String teste = “000000000012345”;

Preciso formatar essa String, para que no meu relatório apareça somente os cinco ultimos caracteres.

Para fazer o relatório estou usando iReport.

14 Respostas

fabim

vc vai exibir sempre 5 digitos, ou so precisa cortar os zeros?

se for so cortar os zeros, converte com Integer.parseInt(String) e depois joga pra String de novo (gambi)

lina

Oi,
para pegar só as ultimas posições… utilizando uma string sem tranformar…

teste.substring(posicao_inicial, posicao_final);

Tchauzin!

D

Existe algum jeito de fazer essa conversão ( tirando os zeros a esquerda ) sem ter q fazer essa gambiarra?

Ironlynx

Existe 1000 maneiras.Invente uma!
Vc pode pegar as 5 últimas posições(chars), armazenar e descartar o resto por exemplo.Pode usar a substring,pode “splitar”(tirar os zeros)…

felixcomputer

Você pode fazer isso:

String teste = "000000000012345"; 
System.out.println(teste.replaceAll("^0*", ""));

Veja se deu certo ae

Samuel Félix

fabim

mas se ele usar esse replace ai, o q acontece se ele tiver um numero
do tipo 000123005? vira 1235? o.O

pra ficar mais elegante entao:

teste = String.valueOf(Integer.parseInt(teste));

ai tu corta os 0 desnecessario e ja fica em String o.O

D

É… por eqto a ultima idéia está ganhando… =P

J

Gente obrigado pela ajuda, o iReport já faz isso automaticamente.

felixcomputer

Só respondendo ao fabiocsi

Se vc percerber na minha expressão regular o caracter ^ indica que é apenas no início da linha, ou seja 000123005 vai ficar isso: 123005. Se tiver dúvidas quanto a ela, teste!
:slight_smile:

D

Essa solução envolvendo o ^ é o que chamamos ai de expressão regular, certo? =)

[]'s

Grinvon

du123:
Essa solução envolvendo o ^ é o que chamamos ai de expressão regular, certo? =)

[]'s

Isso, e é um “conceito universal” usado para validação e tratamento de textos. Seria mais ou menos isso, com qualquer linguagem “moderna” você pode trabalhar com expressão regular.

felixcomputer

Na verdade, eu acho que vai um pouco mais além, a expressão regular é um reconhecedor de padrões, e acho que gerador também(se não me engano), a gente estuda isso em Linguagens formais. Se estiveres interessado em aprender, é muito util, dê uma olhada nessa api da sun:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html

Samuel

fabim

felixcomputer:
Na verdade, eu acho que vai um pouco mais além, a expressão regular é um reconhecedor de padrões, e acho que gerador também(se não me engano), a gente estuda isso em Linguagens formais. Se estiveres interessado em aprender, é muito util, dê uma olhada nessa api da sun:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html

Samuel

opA!

vlw felix… muito bom o link q passou nao conhecia expressoes regulares… agora entendi seu replace la :oops:

felixcomputer

De nada fabio! Vamos ajudar uns aos outros!
:lol:

Criado 15 de janeiro de 2007
Ultima resposta 16 de jan. de 2007
Respostas 14
Participantes 7