Para quem tiver interesse, mude de double para float.
Daniel Vermes
Silvio DeMorais <[EMAIL PROTECTED]> wrote:
O seu programa nao tem erro algum, estah correto, e mostrando o resultado correto.O "problema" eh na forma como os numeros reais sao representados dentro de um computador, como esses numeros sao convertidos de reais para binarios usando o padra IEEE 754, esse tipo de coisa.A melhor forma de entender MESMO como esse negocio funciona eh ler o artigo"What Every Scientist Should Know About Floating-Point Arithmetic"Eh um artigo longo e complexo, mas depois de ler o cara realmente entende o porque desses numeros "errados" nos calculos com Double e Float.Esse problema existe em todo o programa que rode em um computador que use o formato IEEE 754. Ateh onde eu sei, todos usam.Soh para terminar, um exemplo interessante.public class PareceUmMasNaoEh {
public static void main(String []a)
{
double soma = 0.0;
for ( int i = 0; i<10; i++)
{
soma += 0.1;
}
System.out.println(soma);}
}----- Original Message -----From: Marcio AlvarengaSent: Monday, March 24, 2003 3:23 PMSubject: [java-list] Soma com variável do tipo Double;Boa tarde a todos!Estou com um problema na soma de variáveis do tipo Double, segue abaixo código de exemplo:import java.util.*;public class StringDouble
{public StringDouble()
{
}
public static void main(String args[])
{
double v1 = 7001.69 + 5000.23;
System.out.println("Valor: " + v1);
}
}O resultado que imprimiu na tela foi :12001.919999999998 e não 12001.92.Alguém já teve problema parecido?
********************************************************************** Esta mensagem, incluindo seus anexos, tem carater confidencial e seu conteudo eh restrito ao destinatario da mensagem. Caso voce tenha recebido esta mensagem por engano, queira por favor retorna-la ao destinatario e apaga-la de seus arquivos. Qualquer uso nao autorizado, replicacao ou disseminacao desta mensagem ou parte dela eh expressamente probibido. A DBA nao eh responsavel pelo conteudo ou a veracidade desta informacao. **********************************************************************
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, filtro contra spam.