Por que está dando truncamento?

3 respostas
D

Galera, é o seguinte: quando eu insiro um valor <= 9.99 no tfValorUnitario ele passa beleza, só que quando eu insiro um valor maior que esse (seja lá qual for o valor), dá esse erro:
… data truncation: out off range value for column ‘valorUnitario’ at row 1

segue o código:

String valorUnit = this.tfValorUnitario.getText(); valorUnit = valorUnit.replace(',', '.'); double valorUnitario = Double.parseDouble(valorUnit); produto.setValorUnitario(valorUnitario);

ele não deveria converter para double normalmente?

3 Respostas

L

Cara, você pode colocar a stacktrace da exception? Eu só conhecia esse erro em banco de dados, não quando converte de String para Double no java

Jose111

Não é aconselhável utilizar double para representar valores monetários, o correto seria utilizar a classe BigDecimal, já que com double vc ira ter problemas com arredondamento.

D

Vlw man, essa classe BigDecimal funcionou certim.

Criado 15 de abril de 2011
Ultima resposta 15 de abr. de 2011
Respostas 3
Participantes 3