GUJ / Java / Topico Java.lang.ArithmeticException 12 de dezembro de 2007 2 respostas Guilherme_Gomes 12 de dezembro de 2007 Meu programa está tentando dividir 1 por 100233 e está dando esse erro com essa mensagem: Non-terminating decimal expansion; no exact representable decimal result. Eu entendi o erro, mas não faço idéia de como cura-lo. Alguem pode me dar uma luz? Obrigado, Alura Desenvolvimento Back-End Java Sua Carreira em desenvolvimento back-end Java: dos fundamentos à arquitetura de sistemas... 2 Respostas T thingol 12 de dez. de 2007 Você está usando BigDecimal? Toda vez que se faz uma divisão é necessário especificar a precisão. Como ele disse, o resultado dá uma dízima periódica e não pode ser representado exatamente em decimal. 1 / 100233 = 0,0000099767541628006744285814053255914… Veja a documentação de BigDecimal para ver qual é o overload do método divide que permite especificar a precisão. Ednei_Alves_dos_Sant 27 de ago. de 2008 Olá, estava com um problema parecido, para mim a solução foi passar um modo de arrendondamento: RoundingMode.HALF_UP (existem outros). Exemplo: new BigDecimal(“1”).divide(new BigDecimal(“100233”),RoundingMode.HALF_UP) Criado 12 de dezembro de 2007 Ultima resposta 27 de ago. de 2008 Respostas 2 Participantes 3 Topicos relacionados Como saber se um mes tem 4 ou 5 semanas?[RESOLVIDO] 31 respostas Como converter inteiro para string! 13 respostas Comando SELECT para selecionar intervalo de data SQL SERVER 12 respostas &, &&, |, ||. Qndo usar? 6 respostas O método split 12 respostas Alura O que são algoritmos e lógica de programação e como aprender? Entenda o que são algoritmos e lógica de programação e qual é a importância desses conceitos para começar a programar Casa do Codigo Desbravando SOLID: Praticas avancadas para codigos de... Por Alexandre Aquiles — Casa do Codigo