Ir para conteúdo

POWERED BY:

Arquivado

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

Web Design Valdeci

[Resolvido] Somar variaveis numéricas

Recommended Posts

Boa Tarde,

 

Preciso saber como faço para somar valores do banco de dados mysql.

 

Seguinte, no banco eu tenho a tabela produtos que tem os campos ipi, icms, ust, lucro que são impostos em porcentagem.

 

ipi = 5

icms = 3

ust = 1

lucro =50

 

Estes valores estão no banco de dados, fiz o codigo abaixo para ler e soma-los

 

<%
intID = 1
sql = "SELECT * FROM produto where id = "&intID&""
set rs = conexao.Execute(sql)
%>
<%while not rs.EOF
valor_ipi = rs.Fields.Item("ipi").Value
valor_ust = rs.Fields.Item("ust").Value
valor_icms = rs.Fields.Item("icms").Value
valor_custo = rs.Fields.Item("valor_custo").Value
valor_venda = rs.Fields.Item("valor_venda").Value

somatotal = cDbl(valor_ipi) + cDbl(valor_ust) + cDbl(valor_icms) + cDbl(valor_venda) 
%>
ipi - <%=valor_ipi%><br>
ust - <%=valor_ust%><br>
icms - <%=valor_icms%><br>
venda - <%=valor_venda%>
soma total = <%=somatotal%>
<%
rs.MoveNext
wend
rs.close
set rs = nothing			
%>

 

Está aparecendo isso pra mim:

ipi - 5

ust - 1

icms - 3

venda - 50

soma total = 590

 

Gostaria que aparecesse 59, como faço para isso acontecer. Formatei o campo no banco como varchar, teria que mudar para ele reconhecer como número?

 

Outra coisa. Como faço para calcular a porcentagem. Tipo se eu conseguir mostrar este numero 59 gostaria de acrescentar ele em porcentagem e multiplicar pelo valor de custo ex:

 

Valor de custo = 20,00

Porcentagem a acrescentar = 59%

então acrescentariamos 59% no R$ 20,00, como faço isso?

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

altere o tpo do campo para numérico ou use o Cdbl ou CInt para realizar o cálculo e depois use o FormatPercent

response.write(FormatPercent(6/345,1))
'resultado 1.7%
'onde 1 é o nº de casas decimais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite,

 

Funcionou o que me passou xanburzum.

 

So que agora caí em outro problema, vou posta abaixo comentando ok?

 

<%while not rs.EOF
'utilizei o Cdbl e funcionou corretamente, agora consigo somar os numeros como fiz abaixo
valor_ipi = cDbl(rs.Fields.Item("ipi").Value)
valor_ust = cDbl(rs.Fields.Item("ust").Value)
valor_icms = cDbl(rs.Fields.Item("icms").Value)
valor_custo = cDbl(rs.Fields.Item("valor_custo").Value)
'aqui o valor  de venda é 15
valor_venda = cDbl(rs.Fields.Item("valor_venda").Value)

'aqui faço a soma dos numeros recebidos acima
somatotal = valor_ipi + valor_ust + valor_icms + valor_venda
'o resultado foi 59, aí fiz a conta abaixo para transformá-lo em porcento 59 = 0,59
somata_total = somatotal / 100
'aqui tratei a variável substituindo a virgula pelo ponto
soma_total_1 = replace(somata_total,",",".")

'aqui está o problema, ele recebe o valor 0.59 e multiplica pelo valor_venda que é 15 mas ao invés de receber o número 8,85 ele recebe o número 885. tentei o format number e nada. Quando coloco direto o valor 0.59 no codigo sem receber a variavel que tratei com o ponto ele funciona. Talvez eu tenha que tratar este numero novamente mas ja tentei de tudo e não consigo. 
porcentagem = soma_total_1 * valor_custo
porcentagem_1 = FormatNumber(porcentagem,0)
valorDefinitivo = valor_custo + porcentagem_1%>

 

O problema é que tratei o número 0,59 para 0.59 e quando ele faz a multiplicação pelo valor 15 ele tinha que retornar 8,85 e não 885. obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz um teste passando o valor nas variaveis e deu normal

 

<%
soma_total_1=0.59
valor_custo=15
porcentagem = soma_total_1 * valor_custo
porcentagem_1 = FormatNumber(porcentagem,2)
response.write(porcentagem_1)
valorDefinitivo = valor_custo + porcentagem_1%>
%>

 

converta seu campo no bd para numérico

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz um teste passando o valor nas variaveis e deu normal

 

<%
soma_total_1=0.59
valor_custo=15
porcentagem = soma_total_1 * valor_custo
porcentagem_1 = FormatNumber(porcentagem,2)
response.write(porcentagem_1)
valorDefinitivo = valor_custo + porcentagem_1%>
%>

 

converta seu campo no bd para numérico

 

 

Cara não entendi foi nada... Retirei a troca da virgula pelo ponto e funcionou. Muito Obrigado pela ajuda. RESOLVIDO

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.