VB.NET无法从String中获取Integer

时间:2015-03-22 21:53:32

标签: .net vb.net parsing

这真的很奇怪:

Dim i As Integer
Dim s As String = "48;55;50"
Dim numbers() As String = Split(s, ";")
For Each number In numbers
    i = Integer.Parse(number)
Next

这适用于数字(48)中的第一项,但不适用于第二项(55)。我得到一个FormatException。

尝试使用CInt而不是Integer.Parse。甚至尝试使用s.Split而不是Split。

我真的不明白。谢谢:))

2 个答案:

答案 0 :(得分:0)

另一种解决方案可能是在Split命名空间中使用System.Text.RegularExpressions方法,如果你真的想:

Dim s As String = "23;43;34"

For Each num As String In Regex.Split(s, ";")
    Console.WriteLine(Integer.Parse(num))
Next

在数据量不足的情况下,不应该有任何性能差异,所以它取决于你。

答案 1 :(得分:0)

它必须适合你(RemoveEmptyEntries)

Dim i As Integer
Dim s As String = "48;55;50;"
Dim separator As Char() = ";"
Dim numbers As String() = s.Split(separator, System.StringSplitOptions.RemoveEmptyEntries)
For Each number In numbers
    i = Integer.Parse(number, System.Globalization.NumberStyles.Integer, System.Globalization.CultureInfo.InvariantCulture)
Next