Avatar billede rasmusa Nybegynder
25. oktober 2001 - 16:19 Der er 6 kommentarer og
1 løsning

Variabel serveren tror er string men det er numeric :(

Hej

Jeg sidder med følgende kode:

<%
if Request(\"Yourteam\") <> \"\" then
   
    Yourteam                    = Request(\"Yourteam\")
    Opponentteam                = Request(\"Opponentteam\")
    Yourscorefirstperiod        = Request.Form(\"Yourscorefirstperiod\")
    Opponentscorefirstperiod    = Request.Form(\"Opponentscorefirstperiod\")
    Yourscoresecondperiod        = Request.Form(\"Yourscoresecondperiod\")
    Opponentscoresecondperiod    = Request.Form(\"Opponentscoresecondperiod\")
    Yourkillsfirstperiod        = Request.Form(\"Yourkillsfirstperiod\")
    Opponentkillsfirstperiod    = Request.Form(\"Opponentkillsfirstperiod\")
    Yourkillssecondperiod        = Request.Form(\"Yourkillssecondperiod\")
    Opponentkillssecondperiod    = Request.Form(\"Opponentkillssecondperiod\")   


    Team1score = Yourscorefirstperiod + Yourscoresecondperiod
    Team1frags = Yourkillsfirstperiod + Yourkillssecondperiod
    Team2score = Opponentscorefirstperiod + Yourscoresecondperiod
    Team1frags = Yourkillsfirstperiod + Opponentscoresecondperiod
    Team2frags = Opponentkillsfirstperiod + Yourscoresecondperiod
    Team1frags = Yourkillsfirstperiod + Opponentkillssecondperiod
   
%>

Yourscorefirstperiod er 99 og Yourscoresecondperiod er 99 når jeg lægger dem sammen sådan der siger den at det giver 9999, nogen der kan hjælpe?
Avatar billede nute Nybegynder
25. oktober 2001 - 16:21 #1
når du requester fra et formular, så er alle verdier strings. Det du skal gjøre, er å konvertere verdiene til int:

Yourscorefirstperiod        = CInt(Request.Form(\"Yourscorefirstperiod\"))
Yourscoresecondperiod        = CInt(Request.Form(\"Yourscoresecondperiod\"))

/nute
   
   

Avatar billede sone Nybegynder
25. oktober 2001 - 16:21 #2
Request.Form returnerer altid en streng.
Brug CInt(Request.Form) hvis du vil have tal.
Avatar billede winkill Nybegynder
25. oktober 2001 - 16:22 #3
IAlt = CInt(Yourscorefirstperiod) + CInt(Yourscoresecondperiod)
Avatar billede jgp Nybegynder
25. oktober 2001 - 16:23 #4
hmm måske brug vbInteger(Yourscorefirstperiod)?
Avatar billede nute Nybegynder
25. oktober 2001 - 16:27 #5
meeen...hvis det er en mulighet for at de felt du ønsker å konvertere kan inneholde strenger, så vil du få runtime errors. Så skal du heller gjøre noe ála:

Yourscorefirstperiod        = Request.Form(\"Yourscorefirstperiod\")
Yourscoresecondperiod      = Request.Form(\"Yourscoresecondperiod\")

if( IsNumeric( Yourscorefirstperiod ) ) then
  Yourscorefirstperiod = Cint( Yourscorefirstperiod )
else
  response.write \"Yourscorefirstperiod er ikke et tall<br>\"
end if
if( IsNumeric( Yourscoresecondperiod ) ) then
  Yourscoresecondperiod = CInt( Yourscoresecondperiod )
else
  response.write \"Yourscoresecondperiod er ikke et tall<br>\"
end if

/nute


Avatar billede rasmusa Nybegynder
25. oktober 2001 - 16:27 #6
nute var først, tak skal i have det virkede med CInt
Avatar billede winkill Nybegynder
25. oktober 2001 - 16:33 #7
Hehe, du kan også bruge CLng (hvis tallet er større end 32.768) eller CDbl (hvis tallet er større end 2.147.483.648) eller for den sags skyld CByte (hvis tallet er mindre end eller = 255).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester