EditText trazendo valor diferente do Banco de Dados

Android

Banco de Dados

03/01/2017

Criei um aplicativo mobile para Android de Recursos Humanos com todas as funcionalidades, incluir, alterar, deletar, calcular, pesquisar, usando o Banco de Dados SQLite e estou com um problema quando busco a informação no banco de dados o VALOR CARREGADO É DIFERENTE do valor que está na tabela do B.D.
No campo salário da tabela do B.D o valor é de 77977.77 e quando utilizo o campo EditText (abaixo) para trazer o valor é informado 77977.8
Esse problema ocorre somente com valores a partir de 10.000,00 e não tem nenhum problema com valores até 9.999,99
Eu já chequei o Banco de dados e o campo informado está como NUMERIC(12,2)

editText_CON_SalarioContratual.setText(c.getString(20));


Alguém poderia me ajudar com essa questão?

Eu também fiz algumas formatações para tentar sanar esse problema, mas ocorreram erros.
Vejam algumas formatações que fiz sem sucesso:

editText_CON_SalarioContratual.setText(c.getString(20).format("%.2f").replace(",", "."));
Erro: Caused by: java.util.MissingFormatArgumentException: Format specifier: .2f

editText_CON_SalarioContratual.setText(String.format("%.2f",c.getString(20).replace(",", ".")));
Erro: Caused by: java.util.IllegalFormatConversionException: %f can't format java.lang.String arguments

editText_CON_SalarioContratual.setText((CharSequence) new BigDecimal(c.getDouble(c.getColumnIndex("CON_SalarioContratual"))));
ERRO: Caused by: java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.CharSequence

editText_CON_SalarioContratual.setText((CharSequence) BigDecimal.valueOf(Double.parseDouble(c.getString(20))));
ERRO: Caused by: java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.CharSequence

Você consegue me ajudar com a formatação?
Como os valores desse aplicativo são precisos, gostaria de arredondar utilizando BigDecimal.
Edilson Ricci

Edilson Ricci

Curtidas 0

Respostas

Jones Granatyr

Jones Granatyr

03/01/2017

Olá! Já tentou usar alguma função para arredondamento dos valores? Outra alternativa é usar alguma função de arredondamento no próprio BD também
GOSTEI 0
Edilson Ricci

Edilson Ricci

03/01/2017

Eu usei 04 tipos de arredondamento no código, mas o JAVA não suporta e dá erro conforme citei.
No Banco de Dados, o campo está como NUMERIC(12,2) e quando minha aplicação faz o cálculo existe um arredondamento do valor calculo antes de gravar no B.D, no campo do B.D não aparecem diversas casas decimais, aparece o valor com 02 casas decimais.
GOSTEI 0
POSTAR