If IsNumeric(min_variabel) Then Du kan använda dig av IsNumeric() funktionen: tackar, precis vad jag var ute efter Hej >IsNumeric är ganska förrädiskt. Funktionen talar om att Hej Sven, är du onykter? Jag hänger inte riktigt med på vad talar om, eller med vem... Jag har inte sagt något. Däremot håller jag med JohanD. Hej Om du testar en textbox kommer du inte ha någon användning av DataType() funktionen. Eftersom den kommer retunera sträng. Hej Hej Allt som innehåller siffror är inte automatiskt ett tal. Dina fall är det mer ett "mönster" som skall uppfyllas. Enkla jämförelser kontrollerar man i vb med Like operatorn: Hej Sv: hur kollar jag om en variabel är en sträng eller siffror
'tal
Else
'ej tal
End if
/JohanSv: hur kollar jag om en variabel är en sträng eller siffror
<code>
Dim strText as String
strText = "Text"
If IsNumeric(strText) Then
Msgbox "Värde 1 är ett tal."
Else
Msgbox "Värde 1 är inte ett tal."
End If
strText = "123"
If IsNumeric(strText) Then
Msgbox "Värde 2 är ett tal."
Else
Msgbox "Värde 2 är inte ett tal."
End If
</code>Sv: hur kollar jag om en variabel är en sträng eller siffror
Sv: hur kollar jag om en variabel är en sträng eller siffror
IsNumeric är ganska förrädiskt. Funktionen talar om att
DataTypen går att omvandla till en nummerisk Variant
Den säger inte att det är en Numerisk DataTyp
En annan mer analytisk metod kan vara
Option Explicit
Private Sub Command1_Click()
Dim varCheck As Variant, myex As String
myex = "12345678"
varCheck = myex
If VarType(varCheck) = vbString Then MsgBox "är sträng"
End Sub
Med denna metod kan du få reda på exakt vilken DataTyp
det gäller : Integer Long Currency Date mfl.
Skriver du: If IsNumeric(myex) Then MsgBox "är ett Tal"
så visar det sig att det är ett tal . Inte bra
Du frågade efter vilken DataTyp en variabel var .
/SvenSv: hur kollar jag om en variabel är en sträng eller siffror
>DataTypen går att omvandla till en nummerisk Variant
Ja, är det inte det man vill göra? Att kontrollera om inmatad sträng är ett giltigt numeriskt värde?
/JohanSv: hur kollar jag om en variabel är en sträng eller siffror
>hur kollar jag om en variabel är en sträng eller siffror(int
Med variabel menas väl DataTypen String int menas väl Integer.
Ditt svar täcker inte vad som efterfrågades.
Men förmodligen menade han det du svarade på.
Menar du Andreas att mitt inlägg är felaktigt ????, isåfall vad är det
som är fel i inlägget?????
undrar
/SvenSv: hur kollar jag om en variabel är en sträng eller siffror
/JohanSv: hur kollar jag om en variabel är en sträng eller siffror
Vad finns det för behov av att kontrollera variabelt typen när det troligen rör sig om en sträng.Sv: hur kollar jag om en variabel är en sträng eller siffror
>Vad finns det för behov av att kontrollera variabelt typen när det troligen rör sig om en sträng.
Nu kommer flummeriet " troligen " rör sig om en sträng.
Så man skall hålla på att tro en massa saker när man programmerar.
Jag upprepar IsNummeric talar bara om att det går att omvandla
till en Nummerisk DataTyp.
Men grundfrågan löd:
>"hur kollar jag om en variabel är en sträng eller siffror Integer"
Det kan man kolla med VarType funktionen.
Med IsNumeric får du inte reda på om variabeln är en String eller Integer
Det var faktiskt det frågan gällde, om man slutar tro en massa saker.
Har inte påstått att Era svar är felaktiga men det finns fällor i IsNumeric.
Till JohanD du slarvläste förmodligen mitt inlägg,nått annat kan jag inte förstå.
Slutligen det finns en Function VarType vad skall den användas till ?
/SvenSv: hur kollar jag om en variabel är en sträng eller siffror
Huvudsakliga uppgiften för DataType() är att kontrollera underdatatyp för variabler deklarerade som variant. Det är ju onödigt att kolla om en sträng är en sträng.
/Tack och hej, leverpastej.Sv: hur kollar jag om en variabel är en sträng eller siffror
Nu är du ute på "Fisses mosse" igen :-)
Finns ingenting i frågan som handlar om TextBox
" variabel är " skriver han. TextBox är ingen variabel.
/Sven Sv: hur kollar jag om en variabel är en sträng eller siffror
En annan nackdel med IsNumeric som inte har med grundfrågan att göra är
är om du vill kolla ett postgironumer och användaren har skrivit
901950-6 så får du falskt eller ett personnummer 521011-1234 så får du falskt.
Hur löser du det Andreas ???
JohanD skrev
>Ja, är det inte det man vill göra? Att kontrollera om inmatad sträng är ett giltigt numeriskt värde?
Är postgironummer , personnummer giltiga numeriska värde ?
många vinklar på en plog
/SvenSv: hur kollar jag om en variabel är en sträng eller siffror
<code>
Dim strPostGiroNummer
Dim strPersonNummer
strPostGiroNummer = "901950-6"
If strPostGiroNummer Like "######-#" Then
Msgbox "Det är ett postnummer!"
Else
Msgbox "Det är inte ett postnummer!"
End If
strPersonNummer = "521011-1234"
If strPostGiroNummer Like "######-####" Then
Msgbox "Det är ett personnummer!"
Else
Msgbox "Det är inte ett personnummer!"
End If
</code>
För mer avancerade jämförelser kan man använda RegExp.Sv: hur kollar jag om en variabel är en sträng eller siffror
Just det .! IsNumeric betyder underförstått är detta ett nummer/siffror/tal.?
Begreppet är inte solklart !
På svenska heter det Postnummer , Personnummer mm.
>Allt som innehåller siffror är inte automatiskt ett tal.
Just det: Då är Functionen VarType bra att ha.
Alltså duger det inte som JohanD och du alltid oproffsigt
slänga ur Er ("IsNumeric") i alla läge.
Som sagt "det finns många vinklar på en plog"
/Sven