Avatar billede inkognito1 Nybegynder
26. august 2003 - 20:23 Der er 11 kommentarer og
1 løsning

Tjek om felt indeholder kun tal!

Tjek om felt indeholder tekst !

Hvordan er det jeg tjekker om en felt er nummerisk.

Altså om der kun er tal i.
Håber en lige kan hjælpe !
Avatar billede eagleeye Praktikant
26. august 2003 - 20:28 #1
Du kan bruge isNumeric

felt=Request.Form("felt")
if isNumeric(felt) then
  'Det er et tal

end if
Avatar billede erikjacobsen Ekspert
26. august 2003 - 20:50 #2
isNumeric accepterer da vist også "-888" - afhængig af fortolkning kan det
muligvis være forkert
Avatar billede inkognito1 Nybegynder
26. august 2003 - 21:03 #3
Ja jeg har et problem ... isNumeric ser ud til at acceptere + tegnet :o(
Avatar billede netro Nybegynder
26. august 2003 - 21:03 #4
IsNumeric returnerer også True, hvis der ingen værdi er.
Avatar billede netro Nybegynder
26. august 2003 - 21:05 #5
Function Heltal(Tal, Fortegn)
    If Trim(Tal) <> "" And IsNumeric(Tal) Then
        If InStr(Tal, ".") = 0 And InStr(Tal, ",") = 0 Then
            Tal = CLng(Tal)
            If Fortegn = "+" And Tal >= 0 Then
                Heltal = True
            ElseIf Fortegn = "-" And Tal < 0 Then
                Heltal = True
            ElseIf Fortegn = "+-" Then
                Heltal = True
            End If
        End If
    End If
End Function

If Heltal(23, "+") Then ' Tallet er et positivt heltal
If Heltal(-23, "-") Then ' Tallet er et negativt heltal
If Heltal(23, "+-") Then ' Tallet er et positivt el. negativt heltal
Avatar billede squashguy Nybegynder
26. august 2003 - 21:09 #6
set regex = New RegExp
regex.Pattern = "^[0-9]+$"

If regex.Test(str) Then
  ' streng er ikke tom og indeholder kun tal
End If
Avatar billede inkognito1 Nybegynder
26. august 2003 - 21:15 #7
squashguy: Den ser cool ud - men jeg skal faktisk helst bruge det som en function.

Det er fordi jeg skal kunne anvende den i VB også.

Den kommer med fejlen: user-defined type not defined
Avatar billede eagleeye Praktikant
26. august 2003 - 21:16 #8
Hvilke tal vil du acceptere?
Kun positive hel tal?
Avatar billede inkognito1 Nybegynder
26. august 2003 - 21:17 #9
0 1 2 3 4 5 6 7 8 9

og intet andet ...
Avatar billede eagleeye Praktikant
26. august 2003 - 21:24 #10
Så prøv dette hvis du ikke kan få squashguy til at virke så prøv:


function heltal(tal)
  okChar = "0123456789"
  heltal = true
  if len(tal) = 0 then
    heltal = false
  else
    for i = 1 to len(tal)
      if inStr(1,okChar,mid(tal,i,1)) = 0 then
        heltal=false
        exit for
      end if
    next
  end if
end function


if heltal(var) then
  'Et heltal

end if
Avatar billede inkognito1 Nybegynder
26. august 2003 - 21:31 #11
Det spiller - jeg takker !

squashguy du må gerne lige skirve hvis du mener din version kan fungere i VB 6.0...
Avatar billede squashguy Nybegynder
26. august 2003 - 21:41 #12
Du skal lave en reference til microsoft vbscript regular expressions, så burde denne virke:

Function heltal(str)
    Dim regex As New RegExp
    regex.Pattern = "^[0-9]+$"
    heltal = regex.Test(str)
End Function
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