Avatar billede ceec Nybegynder
19. november 2004 - 11:08 Der er 13 kommentarer og
1 løsning

To tal

Hej Eksperter.

Jeg har et lille problem med min app.
Jeg henter tre tal fra en HTML form, og vil lægge to af dem sammen, og checker om de matcher det tredje tal. Men når jeg lægger dem sammen, eks. 5+10 får jeg 510. Jeg går udfra det har noget at gøre med at HTML formen evt. sender det som en tekst streng, men jeg kan ikke gennemskue hvordan jeg løser problemet.

Min kode:

<%
Int Antal = Request.Form("antal")
Int Antal_w = Request.Form("antal_w")
Int Antal_b = Request.Form("antal_b")
Int Antal_total

%>
<font face="arial" size="2" color="#000000"><b>Antal medarbejdere:</b></font> <% response.Write Antal %> <br>
<font face="arial" size="2" color="#000000"><b>Antal Workstations:</b></font> <% response.Write Antal_w %> <br>
<font face="arial" size="2" color="#000000"><b>Antal Bærbare:</b></font> <% response.Write Antal_b %> <br>
<br><br>
<%
Antal_total = (Antal_w + Antal_b)

Response.Write Antal_total

If (Antal_total - Antal) = 0 Then
    Response.Write "Antallet passer"
    Else
    Response.Write "Antallet af computere stemmer ikke overens med antallet af medarbejdere"
End If
%>

Håber der er en venlig sjæl som kan hjælpe.
Mvh
Ceec
Avatar billede Jman Praktikant
19. november 2004 - 11:16 #1
det er fordi dine tal egentlig er strings.. altså kan den ikke regne dem ud..
du skal derfor først fortælle at det er tal:

Antal_total = (cint(Antal_w) + cint(Antal_b))
Avatar billede ceec Nybegynder
19. november 2004 - 11:33 #2
Hmm får en fejl meddelse at cint ikke understøttes i VBscript.

:(
Avatar billede Jman Praktikant
19. november 2004 - 11:37 #3
hmm ... det gør det altså .. (ref. taget i flæng: http://www.asp-help.com/getstarted/ms/vbscript/49.asp)

Måske er det noget andet kode, der driller..
Avatar billede ldanielsen Nybegynder
19. november 2004 - 11:37 #4
<%
Int Antal = Request.Form("antal")
Int Antal_w = Request.Form("antal_w")
Int Antal_b = Request.Form("antal_b")
Int Antal_total

%>

??

det der Int, hvad skulle det gøre?

Gør evt sådan:

<%
Antal = Cint("0" & Request.Form("antal"))
Antal_w = Cint("0" & Request.Form("antal_w"))
Antal_b = Cint("0" & Request.Form("antal_b"))
Antal_total
%>

Cint("0" & ... gør at resultatet bliver 0 hvis feltet er tomt. Dog er negative tal så ikke mulige.
Avatar billede ldanielsen Nybegynder
19. november 2004 - 11:38 #5
Kan vi se fejlmldingen? Og nu er det vel en Windows Server
Avatar billede Jman Praktikant
19. november 2004 - 11:43 #6
Du behøver heller ikke "Antal_total" stående i starten - den gør jo ikke noget.
Avatar billede ceec Nybegynder
19. november 2004 - 11:46 #7
Hehe, jeg brugte lidt fra jer begge og fik det til at virke.
Kan i ikke begge smide et svar, så får i begge point.

Og mange tak for hjælpen.....

Ceec
Avatar billede ldanielsen Nybegynder
19. november 2004 - 11:53 #8
Jo, men hvad var det med at "VBScript ikke understøtter Cint"?

Bemærk i øvrigt at en int ikke kan være udenfore -32,768 til 32,767.

Så hvis tallene bliver større skal du bruge CLng
Avatar billede ceec Nybegynder
19. november 2004 - 11:59 #9
Det var fordi jeg forsøgte at gøre sådan her:

Cint antal = Request.Form("antal")

Det kunne den ikke lide, hehe..
Avatar billede Jman Praktikant
19. november 2004 - 12:09 #10
nej - det er forståeligt ...
Tak for points
Avatar billede ceec Nybegynder
19. november 2004 - 12:15 #11
Gah, fik vist rodet lidt rundt i det med svarene.
Fik du point superior???
Avatar billede Jman Praktikant
19. november 2004 - 12:21 #12
nope..
Avatar billede Jman Praktikant
19. november 2004 - 12:23 #13
men det kan jo være at ldanielsen deler med mig  c",)
Avatar billede ldanielsen Nybegynder
19. november 2004 - 12:57 #14
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