Olá pessoal… tenho um método que retorna um inteiro, porém um número bem “grande”, como: 8908767646236749612.
Eu transformo ele em uma String pra inserí-lo em um JLabel. Porém, gostaria q ele aparecesse da seguinte forma:
8.908.767.646.236.749.612
Há uma função em Java que faça isso? ou tem que fazer na mão? Alguém tem algo parecido pra eu me basear? Pois não estou conseguindo imaginar como se faz… abraços…
Bom… eu procurei um metodo que fizesse isso sozinho, mas não encontrei…
Vc pode fazer assim: pode transformar essa String numa StringBuffer (uma StringBuffer é como uma String, mas pode ser alterada), fazer um laço for com a condição: se o indice for divisível por 3, insira um “.” (ponto)…
eu queria deixar mais simples, mas meu codigo não rodou certo, eu não estou conseguindo exibir o numero…
Aqui estou substituindo o ponto por “nada”, entende?!
Uma dica: Pra trabalhar com inteiros muito grandes, pesquise sobre a classe BigInteger
Falou!
davidbuzatto
importjava.text.*;importjava.util.*;publicclassTesteFormatacao{publicstaticvoidmain(String[]args){// para moédaNumberFormatnf=NumberFormat.getCurrencyInstance(Locale.getDefault());DecimalFormatdf=(DecimalFormat)nf;System.out.println(df.format(10000));System.out.println(df.format(15424.99));System.out.println();// para númeronf=NumberFormat.getNumberInstance(Locale.getDefault());df=(DecimalFormat)nf;System.out.println(df.format(12455457));System.out.println(df.format([telefoneremovido].234));}}
Tenta isso, vai resolver seu problema sem ter q ficar manipulando Strings etc etc etc...
Falow!
adrianostanley
Blz pessoal!!! Brigadão… vou testar todas as respostas!! Abraços…