Olá Amigo, o erro é porque não se pode dividir um valor por zero então faça uma validação para não permitir que o valor ultrapasse 99,99% ou que o reultado nunca seja zero.
Att, Jean Barreiros Programador/Web-Designer Delphi, C++, PHP, JavaScript FireBird/InterBase, MySql, SQLServer, PostGree, Oracle msn: j...@comerciofsa.com.br e-mail: delphij...@gmail.com ________________________________ De: Adenilton <adenilton_in...@hotmail.com> Para: delphi-br@yahoogrupos.com.br Enviadas: Sexta-feira, 9 de Janeiro de 2009 16:41:34 Assunto: [delphi-br] Formação de preços e descontos (Controle de estoques) Boa tarde, estou fazendo um programa de controle de estoque e na hora de implementar os cálculos de formação de preço tive o problema relatado abaixo: A fórmula que utilizo para cálculo do preço é a seguinte: Custo líquido / (1 - ((IPI / 100) + (Despesas operacionais / 100) + (margem de lucro / 100) + (comissão de vendas / 100))) Ex: 10,00 / (1 - 0,1 + 0,1 + 0,2 + 0,05) Logo, 10,00 / 0,55 = 18,18 Desta forma ao retirar as mesmas despesas adicionadas, teremos o valor inicial. Assim: 0,1 + 0,1 + 0,2 + 0,05 = 0,45 (45%), logo 18,18 - 45% = 10,00 Meu problema é quando a soma dessas porcentagens dão mais que 99,99% ou (1), aí o cálculo não retorna corretamente. Por exemplo: Ex: 10,00 / (1 - 0,2 + 0,3 + 0,4 + 0,1) Logo, 10,00 / 0 = Erro Ou Ex: 10,00 / (1 - 0,3 + 0,3 + 0,4 + 0,1) Logo, 10,00 / -0,1 = -100,00 (Valor indesejável) Gostaria de saber se alguém conheçe uma forma de contornar isto no Delphi, ou se o mesmo já tem função própria para isto. Grato desde já pela colaboração de todos. Atenciosamente, Adenilton B. Silva Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]