Daí guri,
Para formatar a exibição de números utilizamos a classe NumberFormat pertencente ao pacote java.text. Os formatadores permitem preparar um valor como uma string estruturada como padrão pros valores a serem exibidos.
Para obter os formatadores padrão podemos escrever:
// Para obter o formatador de números
NumberFormat nfd = NumberFormat.getNumberInstance();
Para utilizá-los acionamos seu método format que produz a string formatada a partir do valor que se deseja formatar:
double x = 1234.0/567;
System.out.println("Valor sem formato: "+ x);
NumberFormat nf = NumberFormat.getNumberInstance();
String xf = nf.format(x);
System.out.println("Valor formatado: "+ xf);
Muitas vezes o resultado obtido através dos formatadores padrão não é conveniente. Nestas situações utilizamos a classe DecimalFormat que permite a definição de um formato particular. Para isto criamos um objeto desta classe informando qual o formato desejado através de uma string de controle. O uso é semelhante ao dos formatadores padrão:
DecimalFormat df = new DecimalFormat("#,###.0000");
System.out.println(df.format(2/3)); // exibe 0.6667
System.out.println(df.format(10/5)); // exibe 2.0000
A string de controle pode ser definida através dos seguinte símbolos:
Símbolo - Descrição
# - Dígito opcional (exibido apenas se diferente de zero)
0 - Dígito obrigatório (exibido mesmo que zero)
. - Separador decimal (substituído pelo símbolo local)
, - Separador de grupos (Substituído pelo símbolo local)
; - Separa formato de números positivos de negativos
- - Prefixo negativo
% - Divide por 100 e exibe como porcentagem
outro - Símbolo literal includo exatamente como especificado
Segue um exemplo que demostra a utilização das classes formatadoras:
// FormatNumbers.java
import java.text.*;
public class FormatNumbers {
public static final void main(String args[]) {
double valor = 20000.0 / 3.0;
String valorFormatado;
NumberFormat nf;
System.out.println("Valor sem formatacao");
System.out.println("2000.0 / 3.0 = " + valor);
System.out.println("Formato Numerico");
nf = NumberFormat.getNumberInstance();
valorFormatado = nf.format(valor);
System.out.println("2000.0 / 3.0 = " + valorFormatado);
System.out.println("Formato em Moeda");
nf = NumberFormat.getCurrencyInstance();
valorFormatado = nf.format(valor);
System.out.println("2000.0 / 3.0 = " + valorFormatado);
System.out.println("Formato Percentual");
nf = NumberFormat.getPercentInstance();
valorFormatado = nf.format(valor);
System.out.println("2000.0 / 3.0 = " + valorFormatado);
System.out.println("Formato especifico");
DecimalFormat df = new DecimalFormat("##,##,00.0");
valorFormatado = df.format(valor);
System.out.println("2000.0 / 3.0 = " + valorFormatado);
}
}
Retirei essas informações de http://docente.saofrancisco.edu.br/peter/javafaq/jfaq0036.html
E aqui podes encontrar diversas outras dicas bem interessantes, que até eu nem fazia idéia 
[]s