�� Lindomar, voc� est� usando um float (32 bits) com precis�o de, no "chute", +- 7 casas decimais. Quando voc� promove este float para um double (64 bits) voc� eleva esta precis�o para +- 15. Acredito que a parte que voc� achou estranho (228881836) n�o representa nada para a integridade de um objeto da classe Float, pois este objeto n�o tem alcance para trabalhar com precis�o acima do valor 23.260000.....

Espero ter contribu�do (e estar certo!). :^)

[]s

 

 

 

Jorge Luiz Santos Farias

Coordenador de Projetos - NDS

[EMAIL PROTECTED]

foton� Inform�tica e Servi�os

Fone: (61) 328 5060 R.: 203

-----Mensagem original-----
De: Lindomar Silva [mailto:[EMAIL PROTECTED]]
Enviada em: segunda-feira, 25 de mar�o de 2002 07:00
Para: java-list@soujava.org.br
Assunto: [java-list] Float e Double

 

Pessoal, mandei a pouco tempo um e-mail perguntando como resolvia a quele proble de multiplicar um double por um int, bom isto j� est� ok, dei uma olhada na classe NumberFormat e creio que agora esteja ok.

Entretanto analisei o seguinte c�digo:

 

Float f1=new Float(23.26);

System.out.println(f1.doubleValue()); -> o resultado aqui � 23.260000228881836

 

Por que nesta transforma��o aparecem 228881836?

N�o era para ser tudo zero?

Ser� que na declara��o do objeto do tipo Float, o 23.26 n�o � EXATAMENTE 23.26?

 

 

 

 


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.338 / Virus Database: 189 - Release Date: 03/14/2002

Responder a