---
title: "Kolla om det är en integer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/64177-kolla-om-det-är-en-integer"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "erka"
published: "2003-01-08T19:33:50.000Z"
updated: "2003-01-09T07:46:01.000Z"
replies: 15
views: 412
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/64177-kolla-om-det-är-en-integer"
---

# Kolla om det är en integer

## #1 — erka, 2003-01-08T19:33Z

Hej!

Om jag har en sträng som jag vill omvandla till integer med 
Convert.ToInt32(myString), och vill kolla om det gick att konvertera den, tex skickar jag in "asdasdjasdjjasd" i myString så vill jag kunna se att den inte gick att konvertera till en integer.

Finns det någon sådan funktion inbyggd eller måste man hacka den själv och isåfall hur :)

Tacksam

Permalänk: https://www.webforum.nu/p/64177

## #2 — erka, 2003-01-08T19:42Z

Löste det genom att köra en

If myString.GetType().ToString().Equals("System.Int32")

Någon som vet något annat sätt ?

Permalänk: https://www.webforum.nu/p/907810

## #3 — erka, 2003-01-08T19:45Z

Nu har jag märkt att det inte fungerade som jag ville, jag vill ju kolla om det går att konvertera till integer, om det går ska jag göra en sak och om det inte går ska jag göra en annan sak. Någon som har mer koll ?

Permalänk: https://www.webforum.nu/p/907814

## #4 — niko, 2003-01-08T19:55Z

```
try
{
	int myInt=Convert.ToInt32(myString);
}
catch(System.FormatException e)
{
	//Inte ett tal.
}
catch(System.Exception e)
{
	//Nåt helt annat gick åt skogen.
}
```

Permalänk: https://www.webforum.nu/p/907823

## #5 — erka, 2003-01-08T20:55Z

Tack Niko, får det dock inte att fungera, någon som har det i vb.net kod :)

Permalänk: https://www.webforum.nu/p/907883

## #6 — kristoffer, 2003-01-08T21:01Z

typeof kanske?

Permalänk: https://www.webforum.nu/p/907890

## #7 — Pace, 2003-01-08T21:06Z

vb.net

```
try
   Dim myInt As Integer = Convert.ToInt32(myString)
catch e As System.FormatException
   ' Inte ett tal.
catch e As System.Exception
   ' Nåt helt annat gick åt skogen.
end try
```

Permalänk: https://www.webforum.nu/p/907893

## #8 — niko, 2003-01-08T21:07Z

På begäran:

```
Try
   myInt=Convert.ToInt32(myString)
Catch exp As System.FormatException
   'Inte ett tal.
Catch exp As System.Exception
   'Nåt helt annat gick åt skogen.
End Try
```

Permalänk: https://www.webforum.nu/p/907895

## #9 — niko, 2003-01-08T21:09Z

Kanske inte en så dum idé iaf <http://www.webforum.nu/showthread.php?s=&threadid=62623>? :q

Permalänk: https://www.webforum.nu/p/907896

## #10 — Pace, 2003-01-08T21:10Z

&nbsp; :e

Permalänk: https://www.webforum.nu/p/907897

## #11 — erka, 2003-01-08T21:14Z

Stort tack, om den innehåller en integer, hur kan jag få ut det då? Typ som en ifsats

```
Dim strString As String = "3"
	
Try
Dim myInt As Integer = Convert.ToInt32(strString)

Catch exp As System.FormatException
'Inte ett tal
Response.Redirect("InteEttTal.aspx")
Catch exp As System.Exception
'Ett tal
Response.Redirect("EttTal.aspx")
End Try
```

ni förstår vad jag menar

Permalänk: https://www.webforum.nu/p/907901

## #12 — niko, 2003-01-08T21:28Z

```
Dim strString As String = "3"
	
Try
	Dim myInt As Integer = Convert.ToInt32(strString)
	'Det [b]var[/b] ett tal vi fortsätter exekveringen här.
Catch exp As System.FormatException
	'Inte var [b]inte[/b] ett tal vi vidtar åtgärder.
Catch exp As System.Exception
	'Nåt helt annat gick åt skogen. Vi vidtar andra åtgärder.
End Try
```

Alternativt:

```
Dim strString As String = "3"
Dim DetVarEttTal As Boolean = false
Try
	Dim myInt As Integer = Convert.ToInt32(strString)
	DetVarEttTal  = true
Catch exp As System.FormatException
Catch exp As System.Exception
End Try
if DetVarEttTal then
	'Gör nåt.
else
	'Gör nåt annat.
end if
```

Permalänk: https://www.webforum.nu/p/907910

## #13 — erka, 2003-01-08T21:31Z

Tack niko

Permalänk: https://www.webforum.nu/p/907913

## #14 — Pace, 2003-01-08T23:56Z

Upptäckte själv samma problem med att kolla om en variabel var av önskad datatyp och stötte på problem så jag slängde ihop nedanstående (finns visserligen i Microsoft.VisualBasic, men det skadar inte att skräddarsy ;))

```
	'***************************************
	'
	' DataType class
	'
	' Kontrollerar datatypen på parameteter och retunerar sant/falskt
	' om den är som önskad. isString() kontrollerar exempelvis om strängen
	' är en sträng, isString("wee") kommer då att reuntera sant.
	'
	'***************************************

	Public Class DataType
		' Kontrollerar om värdet är en sträng.
		Public Shared Function isString(Value As Object) As Boolean
			Return _CheckDataType(Value, "System.String")
		End Function

		' Kontrollerar om värdet är datum/tid.
		Public Shared Function isDateTime(Value As Object) As Boolean
			Return _CheckDataType(Value, "System.DateTime")
		End Function

		' Kontrollerar om värdet är någon form utav tal.
		Public Shared Function isInteger(Value As Object) As Boolean
			If _CheckDataType(Value, "System.Int16") Or _
			_CheckDataType(Value, "System.Int32") Or _
			_CheckDataType(Value, "System.Int64") _
			Then
				Return True
			End If
		End Function

		' Kontrollerar om värdet är null.
		Public Shared Function isNull(Value As Object) As Boolean
			Try
				Dim a = Value.GetType()
				Return False
			Catch
				Return True
			End Try
		End Function

		' Utför kontrollerna.
		Private Shared Function _CheckDataType(Value As Object, DataType As String) As Boolean
			Try
				If Value.GetType().ToString() = DataType Then
					Return True
				Else
					Return False
				End If
			Catch
				Return False
			End Try
		End Function
	End Class
```

Används på följande sätt:

```
If DataType.isString("wee") Then
 ' Det är en sträng.
End If

If DataType.isInteger(3473) Then
 ' Det är ett tal (int16, int32 eller int64).
End If
```

Permalänk: https://www.webforum.nu/p/908012

## #15 — erka, 2003-01-09T01:03Z

Nice Pace, ska leka lite med den sen! Super

Permalänk: https://www.webforum.nu/p/908038

## #16 — Grynet, 2003-01-09T07:46Z

Bara ett helt annat sätt att kolla om en sträng är en integer.

```
Regex reg = new Regex(@"^[\d]{1,5}$");
if(!reg.Match("minsträngjaggvilllkolla").Success){
  //fel meddelande
}
```

Permalänk: https://www.webforum.nu/p/908091

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/64177-kolla-om-det-är-en-integer
