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
Publicidade
|
|
Page 1 of 1
Calculadora para iniciante em ASP desenvolvimento de calculadora em ASP
#2
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
<%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
#3
Posted 05 October 2006 - 04:28 PM
tenta assim
não tenho certeza, mas deve funcionar!
| ASP |
|
não tenho certeza, mas deve funcionar!
#4
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?
Porem quando eu coloco numero decinais por exemplo 0,5 + 1 o resultado sai errado
COmo resolver isso?
#6
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()
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!
Use a função Cdbl()
QUOTE
If operador = "somar" Then
res_soma = Cdbl(calculadora) + Cdbl(calculadora2)
Response.Write(res_soma)
End If
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!
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
Pai leiloa game para punir filho por fumar maconha
|
Notícias |
Notícias
|
|
|
|
Netflix vai transmitir vídeos em streaming para televisores
|
Notícias |
Notícias
|
|
|
|
Apple libera para desenvolvedores atualização que torna o iPad multitarefa
|
Notícias |
Notícias
|
|
|
|
Chinês tem insuficiência renal após vender rim para comprar iPad
|
Notícias |
Notícias
|
|
|
|
Livraria lança leitor de e-book para Android
|
Notícias |
Notícias
|
|
|
|
Iniciante
como começar??? |
ColdFusion |
anjo_crazy
|
|
|
|
CEO da 3Com busca sucessor para se aposentar
IDG Now! - Carreira |
Notícias |
TiTi Celestino
|
|
|
|
Microsoft alerta para séria falha de segurança no Windows
|
Notícias |
Notícias
|
|
Publicidade
|
|

Help













