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]

Responder a