Ir para conteúdo

POWERED BY:

Arquivado

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

hadnet

erro verificação maior que >

Recommended Posts

galera to com um problema parece bobo, mas nao to conseguindo resolver,

 

no meu codigo eu recebo a variavel pela URL tipo pagina.asp?valor=1.000,00

 

assim na pagina.aso eu faço a seguinte verificação:

 

valor = request("valor")
if valor <= 1.000 then valortaxa = 100 end if
if valor > 1.001 then valortaxa = 150 end if
if valor > 3.001 then valortaxa = 250 end if
if valor > 5.001 then valortaxa = 350 end if
if valor > 7.001 then valortaxa = 450 end if

 

so que o valortaxa esta sendo sempre 450, ele meio que nao faz a verificação e assume sempre o ultimo, nao sei se estou fazendo alguma coisa errada

Compartilhar este post


Link para o post
Compartilhar em outros sites

mudei agora para else if e sempre assume como 150

 

if valor < 1.000 then 
valortaxa = 100
else if valor > 1.001 then
valortaxa = 150 
else if valor > 3.001 then
valortaxa = 250 
else if valor > 5.001 then 
valortaxa = 350 
else if valor > 7.001 then
valortaxa = 450
end if
end if
end if
end if
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

 

if valor < 1.000 then 
	valortaxa = 100
elseif valor > 1.001 then
	valortaxa = 150 
elseif valor > 3.001 then
	valortaxa = 250 
elseif valor > 5.001 then 
	valortaxa = 350 
elseif valor > 7.001 then
	valortaxa = 450
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo do número de critério você pode usar o SELECT CASE, aonde você ganha um pouco de performance.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei usar como o Desisto falou mas ainda nao rolo, ainda continua assumindo sempre independente do valor 150 a taxa....

 

nao sei eu to dando um request apenas, teria como converter a variavel para double ou long????

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que agora é como o jonathandj falou... o valor pode estar em forma de string

 

nao sei se o Cint(valor) é a melhor forma pro seu caso, de qq forma tente, se nao der veja como converter string p/ int

Compartilhar este post


Link para o post
Compartilhar em outros sites

recupera o valor e usa cdbl

valorxx = request.form("valor")

valorx= cdbl(valorxx)

 

O cint transforma em inteiros, o que prejudica valores decimais.

O cdbl preserva os decimais.

 

Se não estiver muito enganado, é isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera, nao funciono ainda usei o cdbl e continua assumindo 150, coloquei abaixo pra verem como esta agora:

 

valor = request("valor")
valor = cdbl(valor)
if valor < 1.000 then 
valortaxa = 100
elseif valor > 1.001 then
valortaxa = 150 
elseif valor > 3.001 then
valortaxa = 250 
elseif valor > 5.001 then 
valortaxa = 350 
elseif valor > 7.001 then
valortaxa = 450
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

na url esta taxa.asp?valor=1.000,00

 

no response.write vartype aparece o numero 5

 

e se eu der response write na varivel valor aparece 1000

 

sem ponto, sem virgula

 

e na taxa 150 como disse..........

 

o que podera hein??

Compartilhar este post


Link para o post
Compartilhar em outros sites

O vartype retornou 5 que é:

5 -> Double-precision floating-point number

Ou seja o cdbl funciona.

 

2 possibilidades :

 

valor = request("valor")
if valor < 1000 then 
valortaxa = 100
elseif valor > 1001 then
valortaxa = 150 
elseif valor > 3001 then
valortaxa = 250 
elseif valor > 5001 then 
valortaxa = 350 
elseif valor > 7001 then
valortaxa = 450
end if

OU

 

valor = request("valor")
valor = cdbl(valor)
valor = FormatNumber(valor,2)
if valor < 1.000 then 
valortaxa = 100
elseif valor > 1.001 then
valortaxa = 150 
elseif valor > 3.001 then
valortaxa = 250 
elseif valor > 5.001 then 
valortaxa = 350 
elseif valor > 7.001 then
valortaxa = 450
end if

Abraços,

Vinicius Ianni

Compartilhar este post


Link para o post
Compartilhar em outros sites

com essas condições um valor deve assumir o outro, é a lógica,

se o valor retornado for menor ou = 1.000 tem q te retornar 100

no caso do retorno for 2.000 valortaxa provavelmente terá q ser 150,

não precisa do Else.

 

vai com fé q dá certo.

 

 

valor = request("valor")

if valor <= 1.000 then
 valortaxa = "100" end if

if valor >= 1.001 then
 valortaxa = "150" end if

if valor >= 3.001 then
 valortaxa = "250" end if

if valor >= 5.001 then
 valortaxa = "350" end if

if valor >= 7.001 then
 valortaxa = "450" end if

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.