O velho separador decimal

3 respostas
A

galera to com um problema… o velho separador decimal tem q ser , e nao ponto. Eu uso o formatador

NumberFormat formato =DecimalFormat.getInstance(Locale.getDefault());

registro[2] = formato.format(registro[2]);

e um looping pra popular a jtable formatada… a merda ta aqui:

JTable tab = this.tabela;
tab.setAutoCreateRowSorter(true);

quando eu crio a classificação automatica da coluna o pgm classifica como texto, uma vez q o o numero foi formatado e entra na jtable como texto. Entao eu preciso colocar o numero na jtable como numero, para funcionar a classificação…

o Ideal seria mudar o separador decimal padrao do java… tem como??

alguem tem outra ideia??

3 Respostas

ViniGodoy

Crie uma pequena classe para formatar sua coluna que seja comparable pelo valor decimal, mas tenha o toString retornando o formatter.

A

num tendi…rs

ViniGodoy

Cria uma classe assim:

public class NumeroFormatado implements Comparable<NumeroFormatado>
{
   private NumberFormat numero;
   private String formato;

   public NumeroFormatado(double numero, NumberFormat formato) {
      this.numero = numero;
      this.formato = formato;
   }

   public NumeroFormatado(double numero) {
      this.numero = numero;
      this.formato = DecimalFormat.getInstance(Locale.getDefault());
   }
  @Override
  public int compareTo(NumeroFormatado outro) {
     if (numero < outro.numero) return -1;
     if (numero > outro.numero) return 1;
     return 0;
  }

  @Override
   public String toString() {
      formato.format(numero);
  }
}

E aí, no lugar de Strings, use essa classe.

Criado 7 de abril de 2011
Ultima resposta 7 de abr. de 2011
Respostas 3
Participantes 2