..:: MX Studio Fóruns ::..: Calculadora para iniciante em ASP - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Calculadora para iniciante em ASP desenvolvimento de calculadora em ASP

#1 User is offline   anoxia 

  • Group: Membros
  • Posts: 80
  • Joined: 23-February 05

Posted 05 October 2006 - 12:37 PM

Bom galera olha eu dinovo aqui enchendo o saco. Eu sei que é um porre responder perguntas de iniciante (eu sei por que eu sou Arte finalista e todo dia vem 2 ou 3 da minha lista de mais de 150 que me adicionaram para pedir ajudar devido as comunidades que eu participo no orkut.) mas isso não vem ao caso.

A minha dúvida é a seguinte. Como eu já comentei em outro topico, eu estou começando a estudar asp. mas, minha apostila é fraquissimas e me deixa cheio de dúvidas. Eu estou tentando desenvolver uma calculadora. mas eustou com um problema. o script é esse aqui.


<% Dim calculadora
Dim calculadora2
Dim operador
calculadora = Request.Form("pri_num")
calculadora2 = Request.Form("seg_num")
operador = Request.Form("radiobutton")
%>

onde "pri_num" foi o nome que eu dei ao primeiro TextField do meu form e "seg_num" o segundo.

Eu tenho uma outra página com o seguinte código


<form action="calculadora.asp" method="post" name="form" id="form">
<p>
<input name="pri_num" type="text" id="pri_num">
</p>
<p>
<input name="seg_num" type="text" id="seg_num">
</p>
<p>
<input name="radiobutton" type="radio" value="somar">
Somar
<input name="radiobutton" type="radio" value="subtrair">
Subtrair
<input name="radiobutton" type="radio" value="multiplicar">
Multiplicar
<input name="radiobutton" type="radio" value="dividir">
Dividir
</p>
<p>
<input name="botao" type="submit" id="botao" value="Somar">
</p>
</form>

Na minha página ASP, eu coloquei o seguinte código:

Response.Write(calculadora + calculadora2)

ai, funciona normalmente (a soma, o que não é interesante)

mas, quando eu coloco:


<%if operador = somar then
Response.Write(calculadora + calculadora2)
end if%>

Não funciona, mesmo com o radio button ativo
0

#2 User is offline   anoxia 

  • Group: Membros
  • Posts: 80
  • Joined: 23-February 05

Posted 05 October 2006 - 12:51 PM

Aê galera, eu já consegui aqui o problema tava no

<%if operador = somar then esque ci de por as aspas

<%if operador = "somar" then


Valeu.

Só mais uma dúvida. Como eu faço para somar? (parece uma pergunta idiota, mas não é) Todas as outras operações funcionam mas somar não. POr Ex.: Se eu digitar 3 e no outro 1 e pedir para somar fica 31 e não 3+1 = 4 ele tipo cancatena strings
0

#3 User is offline   Henderson 

  • Group: Membros
  • Posts: 329
  • Joined: 18-September 04

Posted 05 October 2006 - 04:28 PM

tenta assim

ASP

If operador = "somar" then
      res_soma = cint(calculadora) + cint(calculadora2)
      Response.write res_soma
      End If
      


não tenho certeza, mas deve funcionar!
0

#4 User is offline   anoxia 

  • Group: Membros
  • Posts: 80
  • Joined: 23-February 05

Posted 05 October 2006 - 05:35 PM

é isso memso. Resolvel. Valeu!!!

Porem quando eu coloco numero decinais por exemplo 0,5 + 1 o resultado sai errado

COmo resolver isso?
0

#5 User is offline   anoxia 

  • Group: Membros
  • Posts: 80
  • Joined: 23-February 05

Posted 06 October 2006 - 02:48 PM

??
0

#6 User is offline   rbaialuna 

  • Group: Desafio Fireworks
  • Posts: 2938
  • Joined: 28-January 04

Posted 06 October 2006 - 04:41 PM

Você tem que fazer o tratamento para os valores repassados, porém não pode usar o CInt() pois no caso irá arredondar os valores decimais para números inteiros...

Use a função Cdbl()

QUOTE
If operador = "somar" Then
      res_soma = Cdbl(calculadora) + Cdbl(calculadora2)
      Response.Write(res_soma)
End If


Ainda assim, há um outro problema.. você precisa "descobrir" como o usuário vai digitar os valores.. por exemplo.. ele pode digitar:

0.5 ou 0,5

Se ele digitar 0.5, vai dar erro... a solução seria você usar um replace de "." para ","... porém, tem outro problema, se o usuário for digitar um valor acima de mil, pode digitar assim:

1.560,50 ou 1560,50 ou 1560.50

Aí, ao usar o replace vai dar pau também...

A solução mais viável nesse caso é impedir o usuário de digiar pontos por exemplo, via Javascript.. assim só coloca a vírgula quando necessário...

Qualquer dúvida grita ai...

Abraços!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)