Mobile (Android)
30/12/2016
0
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 esse questão?
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 esse questão?
Edilson Ricci
Curtir tópico
+ 0
Responder
Posts
30/12/2016
Jones Granatyr
Opa! Parece que é somente um problema de arredondando do componente que você está utilizando para fazer a interface. Sugiro verificar propriedades relativas à casas decimais do componente, ou então procurar alguma função de arredondamento
Responder
02/01/2017
Edilson Ricci
Prezado Jones, bom dia!
Esse problema ocorre somente com valores a partir de 10.000,00 e não tem nenhum problema com valores até 9.999,99, pois traz formatado.
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
Você consegue me ajudar com a formatação?
Como os valores desse aplicativo são precisos, gostaria de arredondar utilizando BigDecimal.
Esse problema ocorre somente com valores a partir de 10.000,00 e não tem nenhum problema com valores até 9.999,99, pois traz formatado.
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
Você consegue me ajudar com a formatação?
Como os valores desse aplicativo são precisos, gostaria de arredondar utilizando BigDecimal.
Responder
Clique aqui para fazer login e interagir na Comunidade :)