Formatação de um número?

4 respostas
adrianostanley

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…

4 Respostas

eliangela

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…

vc pode baixar a documentação completa do Java do site da Sun Microsystems (em inglês) https://sdlc6c.sun.com/ECom/EComActionServlet;jsessionid=0F38F51BE260EFDFBBB6AD6A7585E8A6

bjus

cassio

Use o método replace da classe String…

public String replace(String old, String new)

onde old é o trecho que vc quer que seja substituido, new é o que vai entrar no lugar…

String teste = " 8.908.767.646.236.749.612";
teste = teste.replace(".", "");

Aqui estou substituindo o ponto por “nada”, entende?!

Uma dica: Pra trabalhar com inteiros muito grandes, pesquise sobre a classe BigInteger :slight_smile:

Falou!

davidbuzatto
import java.text.*;
import java.util.*;

public class TesteFormatacao {
	
	public static void main( String[] args ) {
		
		// para moéda
		NumberFormat nf = NumberFormat.getCurrencyInstance( Locale.getDefault() );
		DecimalFormat df = ( DecimalFormat ) nf;
		System.out.println( df.format( 10000 ) );
		System.out.println( df.format( 15424.99 ) );
		
		System.out.println();
		
		// para número
		nf = NumberFormat.getNumberInstance( Locale.getDefault() );
		df = ( DecimalFormat ) nf;
		System.out.println( df.format( 12455457 ) );
		System.out.println( df.format( [telefone removido].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…

Criado 16 de julho de 2006
Ultima resposta 16 de jul. de 2006
Respostas 4
Participantes 4