有没有函数将字符串转换为vb.net中的整数?

问题描述:

我想将例如字符串“98”转换为整数98.此外,有没有办法指定字符串中包含的值是十六进制的,而“98”会转换为152?有没有函数将字符串转换为vb.net中的整数?

Convert.ToInt32("98") 
Convert.ToInt32("98", 16) 
+0

好极了!谢谢 – jman 2012-02-23 15:45:21

您将值转换为整数与Parse方法:

Dim intValue As Integer = Integer.Parse("98") 

要转换的十六进制值,你可以使用AllowHexSpecifier选项:

Dim intValueFromHex As Integer = Integer.Parse("98", Globalization.NumberStyles.AllowHexSpecifier) 

您也可以使用TryParse方法如果输入值可能格式错误:

Dim intValue as integer 
If Integer.TryParse("98", intValue) 
    Console.WriteLine(intValue) 
Else 
    Console.WriteLine("Not an integer value") 
End If 

我一直的一个Integer.TryParse风扇.NET 4的文档是here。此方法通过引用接受Integer变量,并返回一个布尔值,指示转换是否成功,因此调用TryParse时不必执行任何错误处理。

如果使用接受NumberStyle的重载,则可以指定该字符串包含一个十六进制数字。 Here是过载。

要使用十进制表示法(以10为底)转换:

Dim value = Convert.ToInt32("98") 

Dim value = Integer.Parse("98") 

Dim value As Integer 
If Integer.TryParse("98", value) Then 
    Console.WriteLine(value) 
End If 

要使用十六进制表示法(碱-16转换):

Dim value = Convert.ToInt32("98", 16) 

Dim value = Integer.Parse("98", NumberStyles.HexNumber) 

Dim value As Integer 
If Integer.TryParse("98", NumberStyles.HexNumber, Nothing, value) Then 
    Console.WriteLine(value) 
End If 

NumberStyles枚举在System.Globalization命名空间。

要将字符串“98”转换为整数98,请使用CInt函数。例如:

Dim MyString As String = "98" 
Dim MyInteger As Integer 

MyInteger = CInt(MyString) 

现在MyInteger = 98