RES: [java-list] Float e Double

2002-03-25 Por tôpico Gaucho



O 
método doubleValue() da classe Float sobrecarrega o método homônimo da 
superclasse Number.
 
A documentação do 
jdk1.3.1 informa que esse método pode acarretar em 
arredondamento.
 
Se isso continuar te 
incomodando, vai ter que ir atrás da definição da linguagem Java ou de algum 
livro muito detalhado para descobrir de que forma esse arredondamento é feito (o 
algoritmo desse método).
 
 


RES: [java-list] Float e Double

2002-03-25 Por tôpico Jorge Luiz Santos Farias









   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.26.

 

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.26228881836





 





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