Problemas com float

6 respostas
jaspionTI

Bom dia pessoal.

meu problema é o seguinte :

tenho uma aplicação que armazena código do produto e seu valor unitário. Quando realizo uma compra , obtenho do caixa a quantidade comprada pelo produto e faço o cálculo porém a conta nunca da exata.

Coloquei então a variável quantidade que era int e estava multiplicando por um float tb pra float e mesmo assim não tenho precisão nos cálculos.

Não posso ter uma compra que custa ex. 43.5656575

como devo proceder?

abraços

6 Respostas

D

por favor poste o codigo ou parte dele para que possamos lhe ajudar melhor e visualizar o erro

xD

leocantanhede

Para cálculos monetários use BigDecimal ao invés de float.

E

Para fazer contas, normalmente use double (ou dependendo do que você quer fazer, use BigDecimal). Eu normalmente não recomendo usar BigDecimal a torto e a direito sem saber o que está fazendo.

Há apenas um caso no Java em que se deve usar float (não double), e é em algumas APIs obscuras do AWT e do Java2D.

joaquimferreira010

jaspionTI para ter precisão em arredondamentos, principalmente quanto se trata de valores, é recomendável utilizar BigDecimal.

Posta o código para darmos uma olhada.

Olha esse link também: http://blog.caelum.com.br/arredondamento-no-java-do-double-ao-bigdecimal/

R

Cara,

Os floats foram criados para precisão cientifica. Caso queira para precisão monetaria utilize o Long…

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Long.html

Abrçss

jaspionTI

Boa noite pessoal,

Vou dar uma lida nos links que vcs me passaram e depois comento

desculpem a demora

abraço a todos

Criado 16 de fevereiro de 2012
Ultima resposta 25 de fev. de 2012
Respostas 6
Participantes 6