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 Coordenador de Projetos -
NDS foton® Informática e
Serviços Fone: (61) 328 5060 R.:
203 -----Mensagem original----- 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?
|