Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Web

[Resolvido] Dividir em Até 12 parcelas

Recommended Posts

Olá, vou tentar explicar da melhor forma oq estou tentando fazer:

 

Estou criando uma vitrine para um site de vendas, esta tudo certo, os produtos estão sendo carregados e tudo mas.

Mas na hora de montar o valor das parcelas e em quantas vezes o cliente pode pagar ta dadno pau!!!

 

Segue o codigo:

valor_produto: preço do produto na base de dados

30: valor minimo de cada parcela

n_parc = FormatNumber(valor_produto  / "30")
						
						
						if n_parc < "2" then
						n_parc = "1"
						else if n_parc >= "2" and n_parc < "3" then
						n_parc = "2"
						else if n_parc >= "3" and n_parc < "4" then
						n_parc = "3"
						else if n_parc >= "4" and n_parc < "5" then
						n_parc = "4"
						else if n_parc >= "5" and n_parc < "6" then
						n_parc = "5"
						else if n_parc >= "6" and n_parc < "7" then
						n_parc = "6"
						else if n_parc >= "7" and n_parc < "8" then
						n_parc = "7"
						else if n_parc >= "8" and n_parc < "9" then
						n_parc = "8"
						else if n_parc >= "9" and n_parc < "10" then
						n_parc = "9"
						else if n_parc >= "10" and n_parc < "11" then
						n_parc = "10"
						else if n_parc >= "11" and n_parc < "12" then
						n_parc = "11"
						else if n_parc >= "12" then
						n_parc = "12"
						
						end if
						end if
						end if
						end if
						end if
						end if
						end if
						end if
						end if
						end if
						end if
						end if 
						
						Response.Write(n_parc)

Funciona + ou - assim:

Fiz a divisão do valor_produto por 30, assim consigo o numero de parcelas. Depois verifico em quantas parcelas o produto podera ser pago, lembrando que o numero máximo de parcelas é 12.

 

 

Se um produto custa R$68,00 o cliente ira visualizar da seguinte forma:

em até 2x de R$34,00

 

 

Espero que possam me ajudar. Até mais!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

no asp você não usa "else if" separado e sim junto: "elseif" e você nao precisa fecha o if trocentas vezez, é uma vez só!

 

usa assim:

 

n_parc = FormatNumber(valor_produto  / "30")
						
						
						if n_parc < "2" then
						n_parc = "1"
						elseif n_parc >= "2" and n_parc < "3" then
						n_parc = "2"
						elseif n_parc >= "3" and n_parc < "4" then
						n_parc = "3"
						elseif n_parc >= "4" and n_parc < "5" then
						n_parc = "4"
						elseif n_parc >= "5" and n_parc < "6" then
						n_parc = "5"
						elseif n_parc >= "6" and n_parc < "7" then
						n_parc = "6"
						elseif n_parc >= "7" and n_parc < "8" then
						n_parc = "7"
						elseif n_parc >= "8" and n_parc < "9" then
						n_parc = "8"
						elseif n_parc >= "9" and n_parc < "10" then
						n_parc = "9"
						elseif n_parc >= "10" and n_parc < "11" then
						n_parc = "10"
						elseif n_parc >= "11" and n_parc < "12" then
						n_parc = "11"
						elseif n_parc >= "12" then
						n_parc = "12"
						
						end if
						
						Response.Write n_parc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara tu jah pensou em trocar esse monde de if e elseif para Select case? aumenta sua performance. coloca td o codigo aqui.

 

E tambem eu estava pesquisando mais um pouco sobre FormatNumber e não vi o uso dele para fazer uma operação e sim só para formatar o numero, você já tentou fazer a operação e depois formatar o numero?

 

Desculpe se falei besteira :x

Compartilhar este post


Link para o post
Compartilhar em outros sites

o código é basicamente só isso, a unica coisa que tem a mais é um select do BD pra pegar o valor da parcela.

 

Fiz o seguinte teste:

n_parc = "1000"  / "30"
						
						
						if n_parc < "2" then
						n_parc = "1"
						elseif n_parc >= "2" and n_parc < "3" then
						n_parc = "2"
						elseif n_parc >= "3" and n_parc < "4" then
						n_parc = "3"
						elseif n_parc >= "4" and n_parc < "5" then
						n_parc = "4"
						elseif n_parc >= "5" and n_parc < "6" then
						n_parc = "5"
						elseif n_parc >= "6" and n_parc < "7" then
						n_parc = "6"
						elseif n_parc >= "7" and n_parc < "8" then
						n_parc = "7"
						elseif n_parc >= "8" and n_parc < "9" then
						n_parc = "8"
						elseif n_parc >= "9" and n_parc < "10" then
						n_parc = "9"
						elseif n_parc >= "10" and n_parc < "11" then
						n_parc = "10"
						elseif n_parc >= "11" and n_parc < "12" then
						n_parc = "11"
						elseif n_parc >= "12" then
						n_parc = "12"
						
						end if
						
						Response.Write n_parc

O valor da divisão é 33,333333 e oqe deveria ser mostrado no Reponse.Write n_parc é 12 mas mostra 3. Sei lá ta meio doido ou tudo errado esse codigo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae pessoal consegui resolver o problema, segue o codigo ae pra vcs!!!

n_parc = valor_produto  / 30
						
						
						if n_parc < 2 then
						n_parc = "1"
						end if
						if n_parc >= 2 and n_parc < 3 then
						n_parc = "2"
						end if
						if n_parc >= 3 and n_parc < 4 then
						n_parc = "3"
						end if
						if n_parc >= 4 and n_parc < 5 then
						n_parc = "4"
						end if
						if n_parc >= 5 and n_parc < 6 then
						n_parc = "5"
						end if
						if n_parc >= 6 and n_parc < 7 then
						n_parc = "6"
						end if
						if n_parc >= 7 and n_parc < 8 then
						n_parc = "7"
						end if
						if n_parc >= 8 and n_parc < 9 then
						n_parc = "8"
						end if
						if n_parc >= 9 and n_parc < 10 then
						n_parc = "9"
						end if
						if n_parc >= 10 and n_parc < 11 then
						n_parc = "10"
					  end if
						if n_parc >= 11 and n_parc < 12 then
						n_parc = "11"
					   end if
						if n_parc >= 12 then
						n_parc = "12"
						
						end if
						
						Response.Write n_parc
até mais!!!valeu pela força!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.