在 Visual Basic 中拆分字符串时出错?



我正在尝试将浮点二进制转换为十进制数,并且正在努力将尾数一分为二。

我有以下几行,但不确定是否正确:

Dim mantissaarray() As String = Split(mantissa,,T)
Dim first As Integer = CInt(mantissaarray(0))
Dim second As Integer = CInt(mantissaarray(1))

第三行是有错误的地方

System.IndexOutOfRangeException:">Index 在数组边界之外。

有人可以告诉我我做错了什么才能得到这个错误,因为我不明白?

尾数是一个字符串,例如 0110,T 是一个整数,例如 2 数组的输出应该是字符串被第三个数字分割,例如 01 和 10。

.net 中的字符串是 Char 数组。因此,利用这一事实,我们可以执行以下操作之一。

Private Sub OpCode()
Dim mantissa = "0110"
'The Linq way
Dim intArray = (From c In mantissa
Select CInt(c.ToString)).ToArray
For Each i In intArray
Debug.Print(i.ToString)
Next
'The For Each way
Dim intArray2(mantissa.Length - 1) As Integer
Dim index As Integer
For Each c As Char In mantissa
intArray2(index) = CInt(c.ToString)
index += 1
Next
For Each i In intArray2
Debug.Print(i.ToString)
Next
End Sub

相同的结果。

最新更新