Caro Mike, A classe java.math
"Se um long ou um double não for grande o suficiente para você, o pacote java.math oferece duas classes, BigInteger e BigDecimal, que dão suporte a números de precisão arbitrária. Essas são classes completas, com um grupo de métodos para realizar matemática com precisão arbitrária." Texto do Livro : Aprendendo Java - Editora Campus - Patrick Niemeyer & Jonathan Knudsen. ( página 232 ). Pesquise sobre esse assunto, acredito que seja a solução do seu problema. Segue exemplo abaixo para sua análise e comentário. Um abraço, Edilson Sanches de Souza MS ANTUNES INFORMÁTICA **************************************************************************** ********************************** import java.math.*; public class MikeMoreira { public static void main(String[] args) { System.out.println(" *** In ***"); double dblTeste = 1234567890123456789.0; Double DblTeste = Double.valueOf("123456789012345.1234"); BigDecimal solucao1 = new BigDecimal("1234567890123456789.0"); BigDecimal solucao2 = new BigDecimal("123456789012345.1234"); BigDecimal solucao3 = new BigDecimal("1.2345678901234567890"); BigDecimal solucao4 = new BigDecimal("123.4567890123451234"); BigDecimal soma = solucao1.add(solucao2); System.out.println(" Teste 1 " + dblTeste ); System.out.println(" Teste 2 " + DblTeste ); System.out.println(" Solucao1 " + solucao1); System.out.println(" Solucao2 " + solucao2); System.out.println(" Solucao3 " + solucao3); System.out.println(" Solucao4 " + solucao4); System.out.println(" Soma " + soma); System.out.println(" *** Out ***"); } } **************************************************************************** ********************************** ----- Original Message ----- From: Mike Moreira <[EMAIL PROTECTED]> To: Grupo Discussao Java <[EMAIL PROTECTED]> Sent: Tuesday, April 02, 2002 11:31 AM Subject: [java-list] Problemas com double / Double Ola, Estou tendo problemas com tratamento do tipo double com mais de 16 numeros. No exemplo abaixo o "Teste 1" esta arredondando os inteiros e no "Teste 2" esta arredondando os decimais Alguem tem alguma ideia ou ja passou por esse tipo de problema System.out.println(" *** In ***"); double dblTeste = 1234567890123456789.0; file://123456789012345.1234; Double DblTeste = Double.valueOf("123456789012345.1234"); System.out.println(" Teste 1 " + dblTeste ); System.out.println(" Teste 2 " + DblTeste ); System.out.println(" *** Out ***"); *** In *** Teste 1 1.23456789012345677E18 Teste 2 1.2345678901234512E14 *** Out *** Obrigado <><><><><><><><><><><><><><><><><><> Mike Moreira CPA Sistemas de Informação <><><><><><><><><><><><><><><><><><> ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] ------------------------------------------------------------------------- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------