Delphi Calculo a cada R$0,01 acrescenta 0,01% na Comissao

Delphi

08/07/2015

Pessoal, estou com o seguinte problema de calculo.
Tenho o preço mínimo (ex: 135,00) do produto e a comissão de 2%.

A cada R$0,01 acima do preço mínimo devo aumentar a comissão em 0,01%

Alguém poderia me ajudar.

Agradeço desde já.
Tomas Raponi

Tomas Raponi

Curtidas 0

Respostas

Gabriel Baltazar

Gabriel Baltazar

08/07/2015

Pelo que entendi, é só você somar a diferença do valor do produto a comissão, caso o valor do produto esteja acima do valor mínimo.

function calculaComissao(dPrecoMinimo, dPrecoProduto, dPercentualComissao: Double): Double;
var
  diferenca: Double;
begin
  diferenca := dPrecoProduto - dPrecoMinimo;

  if diferenca > 0 then
    result := dPercentualComissao + diferenca
  else
    result := dPercentualComissao;
end;
GOSTEI 0
Tomas Raponi

Tomas Raponi

08/07/2015

O problema e´justamente o seguinte:
se eu tiver preço mínimo 135,00 preço de venda 150,00 teria 15,00 reais de diferença.

se ao invés, tiver 1,35 e venda 1,50 teria 1,15 de diferença.

Segundo o cliente a comissão deveria ser 3,50% (2+1,50), pois 2 % e´a comissão do preço minimo.

Estou quebrando a cabeça com isso.
GOSTEI 0
Tomas Raponi

Tomas Raponi

08/07/2015

O problema e´justamente o seguinte:
se eu tiver preço mínimo 135,00 preço de venda 150,00 teria 15,00 reais de diferença.

se ao invés, tiver 1,35 e venda 1,50 teria 1,15 de diferença.

Segundo o cliente a comissão deveria ser 3,50% (2+1,50), pois 2 % e´a comissão do preço minimo.

Estou quebrando a cabeça com isso.

so para complementar

pço.min. pço. venda comissão
135,00 135,00 2%
135,00 150,00 3,50%
135,00 162,00 4,70%
135,00 165,00 5,00%

o mesmo deveria acontecer para valores pequenos pço.minimo 1,35 vda 1,35, 1,50 , 1,62 , 1,65.

Grato pela ajuda.
GOSTEI 0
Gabriel Baltazar

Gabriel Baltazar

08/07/2015

divide a diferença por 10:

if diferenca > 0 then
    result := dPercentualComissao + (diferenca / 10)
  else
    result := dPercentualComissao;
GOSTEI 0
Cauê Nishijima

Cauê Nishijima

08/07/2015

Deve ter algo errado na lógica que você nos passou, pois se cada centavo acima do preço minimo a comição aumenta 0,01%, realmente como o Baltazar falou seria somente somar a diferença.

Ex.:

135,00 - valor minimo
150,00 - valor de venda
--------------------------------
15,00 - de diferença, em centavos daria 1500 centavos, multiplicando por 0,01 daria novamente 15% de aumento na comissão, resultando em 17%, isso se a comissão minima for 2%.

Já com 1,35 e 1,50 os valores tem que ser diferente pela lógica que você nos passou.

1,35 - valor minimo
1,50 - valor de venda
-------------------------------
15 centavor de diferença, multiplicando por 0,01 daria 0,15% de aumento, resultando numa comissão de 2,15%, isso se a comissão minima for 2%



Nos passe melhor a regra de negócio para que possamos verificar.
GOSTEI 0
Tomas Raponi

Tomas Raponi

08/07/2015

O cliente me passou exatamente isto.

Pço.Mín. Pço.Vda1 Pço.Vda2 Pço.Vda3 Pço.Vda4

Valor 135,00 150,00 162,00 165,00 175,00
Comissão 2% 3,50% 4,70% 5% 6%

a cada R$0,01 que aumentar no pço.minimo, a comissao aumenta 0,01%

o mesmo vale para valores menores 1,35 1,50 1,62, 1,65 1,75
GOSTEI 0
Gabriel Baltazar

Gabriel Baltazar

08/07/2015

Você está passando uma fórmula, mas o exemplo que está passando não bate com a fórmula.
Sugiro conversar melhor com o cliente e esclarecer.
GOSTEI 0
POSTAR