Jump to content


Photo

Dificuldade Com Cálculo Matemático De Porcentagem


  • Faça o login para participar
6 replies to this topic

#1 Hudson

Hudson

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 07/07/2005, 10:30

Estou tentando fazer o seguinte:

1° eu seleciono as tabelas (está funcionando normalmente):

strSql = "SELECT * FROM tbPedidos, tbProdutos, tbClientes, tbTipoFesta, tbTipoproduto, tbPedidos_Itens, "
strSql = strSql & "tbEstados, tbTipoPessoal, tbPedidos_Pessoal WHERE tbPedidos.id_cliente = tbClientes.id_cliente AND "
strSql = strSql & "tbPedidos.id_tipofesta = tbTipofesta.id_tipofesta AND tbPedidos.estadopedido = tbEstados.cod_estado AND "
strSql = strSql & "tbPedidos.id_pedido = " & Session("codped")
Set rsSql = cn.Execute(strSql)

2° Eu montei um formulário com uma tabela dentro dele que mostra 3 valores:
1° valor: o Sub Total 1 (está funcionando):
<%=FormatNumber(rsSql.Fields("subtotal"),2)%>
2° valor: o Sub total 2 (que tb está funcionando):
<%=FormatNumber(rsSql.Fields("subtotal2"),2)%>
3° valor: o total final que é a soma do sub-total1 + subtotal2 (que tb está funcionando):
<%=FormatNumber(total,2)%>

Bom, agora para alterar o valor total já gravado na tabela, em porcentagem, estou tentando fazer da seguinte forma:
1° Criei um formulario com um campo de texto e nomei-o de txt_porcentagem
2° Criei 2 botões com os nomes de "Somar" e "Subtrair".
3° A minha intenção (e é o que não está funcionando) é que quando a pessoa digita o numero (representando o valor em porcentagem para somar ou diminuir no valor total) ela clica em um dos botões (somar ou diminuir) e vai ativar o script ASP que vai calcular o novo valor a ser inserido na tabela e mostrar novamente o valor total no 3° valor do formulário que eu montei. O script que eu estou fazendo é o seguinte:
If txt_porcentagem = "" Then
total = Session("sub_total") + Session("sub_total2")
SqlTotal = "UPDATE tbPedidos SET totalpedido = '" & total & "' WHERE id_pedido LIKE " & Session("codPed") & ""
Set rsTotal = cn.Execute(SqlTotal)
Else
novo_valor = Request.Form("txt_porcentagem")


'aqui entra outro IF para ver qual botão a pessoa clicou e faz os cálculos matemáticos


SqlTotal = "UPDATE tbPedidos SET totalpedido = '" & total & "' WHERE id_pedido LIKE " & Session("codPed") & ""
Set rsTotal = cn.Execute(SqlTotal)
End If
End If

Alguém pode me ajudar? Obrigado.

O formulário que mostra os valores:
<form name="form3" method="post" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
<table width="80%"  border="1" align="center" cellpadding="0" cellspacing="1">
<tr bgcolor="#999999">
<td colspan="3" class="txt_cabecalho_justy">&nbsp;5.3 - Valores da Festa</td>
</tr>
<tr>
<td width="87%" bgcolor="#CCCCCC">Valor dos produtos da festa (Sub Total 1):&nbsp;</td>
<td width="4%" bgcolor="#CCCCCC" class="txt_cabecalho_right">&nbsp;R$&nbsp;</td>
<td width="9%" bgcolor="#CCCCCC" class="txt_cabecalho_right">&nbsp;<%=FormatNumber(rsSql.Fields("subtotal"),2)%></td>
</tr>
<tr bgcolor="#CCCCCC">
<td>Valor cobrado pelo pessoal da Festa (Sub Total 2):&nbsp; </td>
<td class="txt_cabecalho_right">&nbsp;R$&nbsp;</td>
<td class="txt_cabecalho_right">&nbsp;<%=FormatNumber(rsSql.Fields("subtotal2"),2)%></td>
</tr>
<tr bgcolor="#CCCCCC">
<td colspan="3"><hr size="1" color="#000000"></td>
</tr>
<tr>
<td bgcolor="#CCCCCC">&nbsp;Valor total da festa (Sub total 1 + Sub total 2):&nbsp;</td>
<td bgcolor="#CCCCCC" class="txt_cabecalho_right">&nbsp;R$&nbsp;</td>
<td bgcolor="#CCCCCC" class="txt_cabecalho_right">&nbsp;<%=FormatNumber(total,2)%></td>
</tr>
<tr>
<td colspan="3" bgcolor="#CCCCCC"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td>&nbsp;Deseja alterar o Valor Total da festa? (em porcentagem):</td>
<td align="center"><input name="txt_porcentagem" type="text" id="txt_porcentagem" size="1">
%</td>
<td align="center"><input name="bt_aumentar" type="submit" id="bt_aumentar" value="Somar"></td>
<td align="center"><input name="bt_diminuir" type="submit" id="bt_diminuir" value="Subtrair"></td>
</tr>
</table></td>
</tr>
</table>
</form>


#2 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 07/07/2005, 10:32

Poxa velho, dá um exemplo assim:

Tenho:

variavel = 0,02

quero que ela vire 0,002

Entendeu? Ninguém vai ter tempo de olhar teu código todo, seja mais específico o possível, to no aguardo..

Abs.
Eduardo Batista

#3 Hudson

Hudson

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 07/07/2005, 18:33

tenho uma variável

variável = 1000

quero que por meio de um campo de formulário com um campo de texto e 2 botoes distintos a pessoa insira uma valor qualquer no campo de texto e quando clicar no botão com o nome "Somar" aumente a quantidade correspondente ao valor que a pessoa colocou no campo de texto, em porcentagem, no valor da variavel e quando clicar no botão "Subtrair" diminua a quantidade correspondente ao valor que a pessoa colocou no campo de texto, em porcentagem, no valor da variavel.

Desculpe a tomar seu tempo, é que eu sou iniciante no assunto e preciso muito da ajuda de pessoas mais experientes no assunto.

#4 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 07/07/2005, 18:44

Você sabe tirar a porcentagem usando matemática??

$valor += ($valor * ($percent / 100));

se for subtrair

$valor -= ($valor * ($percent / 100));

Iji... coloquei a resposta em PHP... *rs*

Em ASP...

resposta = valor + (valor * (percent / 100))

se for subtrair

resposta = valor - (valor * (percent / 100))

Edição feita por: Prog, 07/07/2005, 18:46.

------
Mero mortal!

#5 Hudson

Hudson

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 08/07/2005, 09:05

no caso ai o "percent" é faz parte do ASP, ou é uma variável tb? To perguntando pois eu fiz aqui e ela apareceu no Dreamweaver na cor preta indicando uma variavel.

#6 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 08/07/2005, 09:37

Subtrair:

variavel = Abs(variavel2) - Abs(variavel3)

Somar:

variavel = Abs(variavel2) + Abs(variavel3)


Porcentagem:

variavel = FormatPercent(Abs(variavel2) / Abs(variavel3))

Eduardo Batista

#7 Hudson

Hudson

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 08/07/2005, 10:01

Consegui fazer funcionar:

novo_valor = Request.Form("txt_porcentagem")

Somar
total = rsSql.Fields("totalpedido") + (rsSql.Fields("totalpedido") * (novo_valor / 100))

Subtrair
total = rsSql.Fields("totalpedido") - (rsSql.Fields("totalpedido") * (novo_valor / 100))


Valeu pela ajuda.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq