繁体   English   中英

VB.NET无法从字符串获取整数

[英]VB.NET Cannot get Integer from String

这真的很奇怪:

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。

我真的不明白。 谢谢 :)

如果您确实感觉像,另一种解决方案可以在System.Text.RegularExpressions命名空间中使用Split方法:

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

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

在数据量少的情况下,应该不会有任何性能差异,所以这取决于您。

它必须为您工作(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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM