Avatar billede krogstrup Nybegynder
11. oktober 2005 - 08:48 Der er 6 kommentarer

Håber på hurtig hjælp - konvertere string til integer

Jeg har en side hvor postnr kan indtastes i et INPUT felt. Her kan indtastes præcist hvad man ønsker - f.eks. tekst, selv om det jo ikke er meningen med feltet.

Når INPUT modtages ønsker jeg at indlæse værdien af mit postnr felt i en variabel således at der indsættes et heltal UANSET hvad brugeren har indtastet i feltet. Dvs. at hvis der er indtastet et korrekt postnr, ja så skal det selvfølgelig indlæses i min variabel, men har brugeren indtastet f.eks. tekst, ja så skal variablen blot sættes til 0

Hvordan tjekker jeg om en variabel er integer ?

Jeg har f.eks. prøvet med følgende metode for at klare ovenstående:

postnr = int(request("postnr"))

men hvis request("postnr") indeholder andet end heltal, giver det en fejlmeddelelse.

How to do this.... ?!?

ps: er godt klar over at jeg kunne lave noget klient validering via javascript og tjekke om der var skrevet heltal i feltet, men nu ønsker jeg altså at gøre det på denne måde.
Avatar billede polle007 Nybegynder
11. oktober 2005 - 08:50 #1
postnr = Request("postnr")
If Not IsNumeric(postnr) Then
    Postnr = 0
End If

postnr = Int(postnr)
Avatar billede krogstrup Nybegynder
11. oktober 2005 - 08:51 #2
aaaah - ja

isNumeric, selvfølgelig

tusind tak for hurtig hjælp !!!

smider du et svar ?
Avatar billede fennec Nybegynder
11. oktober 2005 - 09:13 #3
Hvis det skal være helt rigtig er Int() ikke den rigtige funktion at bruge her.
Brug cInt() i stedet, da det er den rigtige funktion til at konvertere tekst til tal.

Int (og Fix) funktionen er til at trække heltal ud fra kommatal.
http://msdn.microsoft.com/library/en-us/script56/html/vsfctCInt.asp?frame=true
http://msdn.microsoft.com/library/en-us/script56/html/vsfctInt.asp?frame=true
Avatar billede krogstrup Nybegynder
11. oktober 2005 - 09:29 #4
fennec >
Men cInt() kan vel kun benyttes hvis variablen der konverteres fra tekst til tal kun indeholder tal ?
Avatar billede polle007 Nybegynder
11. oktober 2005 - 09:30 #5
Int konverterer fint til integer

forskellen er, at CInt runder op, det gør Int ikke
Avatar billede fennec Nybegynder
11. oktober 2005 - 10:07 #6
krogstrup >>
Ja, men det samme gælder for Int(). Den kan også kun køre med ren tal.

polle007 >>
Ja Int() fungere fint, men den blev ikke skabt til det, der er formål her, det gjorde cInt() funktionen. Det er et ? om at bruge funktionen til det, den er lave til. Ren performance burde et kald til Int også køre cInt, så man spilder resurser, selv om det næppe kan mærkes :o)

Det var bare for at gøre opmærksom på at der er lavet en specifik funktion til at konvertere tekst til tal, og man bør bruge den, hvis man kan :o)

ps. Husk også at lave et svar polle007...
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