Arredondamento em Float.parseFloat("999999.99");  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
leofernandesmo
JavaEvangelist
[Avatar]

Membro desde: 05/06/2006 10:27:10
Mensagens: 337
Localização: Rec->Mac
Offline

Alguem sabe pq quando faço:
Float.parseFloat("999999.99"); e vou ver o resultado gerado está em 1000000.0
Já tentei usar DecimalFormat e nada...



Obs: Não quero mudar o BEAN para aceitar double pq eu ia ter um retrabalho muito grande.

Atc.

Blog: http://jroller.com/page/leofernandesmo
Msg: "Não adianta olhar pro céu com muita fé e pouca luta"
[Email] [MSN]
silva.fernandes
Java Ninja
[Avatar]
Membro desde: 29/05/2006 15:11:34
Mensagens: 280
Localização: Jundiaí
Offline

Deixa eu ver se entendi ... vc não quer o arredondamento?

Se for isso vc pode usar a classe BigDecimal




Se eu entendi errado desculpa ai ...




Fabiano Fernandes
----------------------------------------------
"Tentar e falhar é, pelo menos, aprender.
Não chegar a tentar é sofrer a inestimável perda do que poderia ter sido.
O único modo de evitar os erros é adquirindo experiência; mas a única maneira de adquirir experiência é cometendo erros."
----------------------------------------------
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Esse é um problema dos floats. Eles foram feitos para ter precisão científica, não monetária. Se os valores que você precisa devem ser precisos, o melhor é realmente usar um long.

Você pode ver essa dica no capítulo 7, item 31, do Effective Java, do Joshua Bloch.

http://java.sun.com/docs/books/effective/chapters.html
[WWW]
leofernandesmo
JavaEvangelist
[Avatar]

Membro desde: 05/06/2006 10:27:10
Mensagens: 337
Localização: Rec->Mac
Offline

silva.fernandes, valeu a ajuda era isso mesmo, mas não funcionou mesmo assim. Pq quando vou fazer:

O valor arredonda de novo.
Já tentei usando:

Mas tb arredondou...
Pelo visto vou ter que usar Double mesmo..
Valeu ai ViniGodoy pela ajuda tb...

Blog: http://jroller.com/page/leofernandesmo
Msg: "Não adianta olhar pro céu com muita fé e pouca luta"
[Email] [MSN]
gbmesso
JavaBaby
[Avatar]

Membro desde: 30/11/2006 17:52:27
Mensagens: 86
Localização: BR, São Paulo
Offline

leofernandesmo wrote:silva.fernandes, valeu a ajuda era isso mesmo, mas não funcionou mesmo assim. Pq quando vou fazer:

O valor arredonda de novo.
Já tentei usando:

Mas tb arredondou...
Pelo visto vou ter que usar Double mesmo..
Valeu ai ViniGodoy pela ajuda tb...



Para aprender eu copiei o código e fiz alguns testes. Engraçado que funcionou o arredondamento


Aprendendo sempre...
[MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Se puder, nunca use Float ou float, apenas double ou Double.
A precisão do float é muito pequena - 6 casas apenas - e você está tentando usar com 8 casas.
[WWW]
silva.fernandes
Java Ninja
[Avatar]
Membro desde: 29/05/2006 15:11:34
Mensagens: 280
Localização: Jundiaí
Offline

Leo, dá uma olhada pra ver se não é isso q vc ta precisando ...




Espero q te ajude isso..

Falowww

T+

Fabiano Fernandes
----------------------------------------------
"Tentar e falhar é, pelo menos, aprender.
Não chegar a tentar é sofrer a inestimável perda do que poderia ter sido.
O único modo de evitar os erros é adquirindo experiência; mas a única maneira de adquirir experiência é cometendo erros."
----------------------------------------------
rafaelob
JavaBaby
[Avatar]

Membro desde: 01/07/2009 11:21:02
Mensagens: 91
Offline

O que está ultima classe faz, realmente?! não entendi 100%

Att

Rafael de Oliveira Bittencourt - Bacharelando em Ciência da Computação- UFBa
clone_zealot
JavaEvangelist

Membro desde: 21/11/2004 16:40:00
Mensagens: 424
Offline

Por favor, não ressucite tópicos antigos... Este tópico morreu a quase 3 anos...

E sobre a classe: ela demonstra como utilizar as classes de Format, mostrando como é possível montar/alterar os patterns de formatação.

"Não amo a espada por sua agudez,
não amo a flecha por sua rapidez,
não amo o homem por sua glória,
amo sim, tudo o que eles defendem"
Faramir, Príncipe de Ithilien
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team