【发布时间】:2011-03-09 17:01:51
【问题描述】:
下午好,
如何在 VB 中拆分一个值并将其插入到数组中?
一个例子:
初始值为987654321。
使用 for 循环我需要像这样插入值:
Position(1) = 9 '分割后整数的第一个数
Position(2) = 8 '拆分整数的第二个数
等等……
谢谢。
【问题讨论】:
下午好,
如何在 VB 中拆分一个值并将其插入到数组中?
一个例子:
初始值为987654321。
使用 for 循环我需要像这样插入值:
Position(1) = 9 '分割后整数的第一个数
Position(2) = 8 '拆分整数的第二个数
等等……
谢谢。
【问题讨论】:
此代码未经测试:
Dim x As Integer = 987654321
Dim s As String = x.ToString
Dim a(s.Length) As String
For i As Integer = 0 To s.Length - 1
a(i) = s.Substring(i, 1)
Next i
【讨论】:
你可以试试:
Dim number As Integer = 987654321
Dim strText As String = number.ToString()
Dim charArr() As Char = strText.ToCharArray()
数字分开后,您可以将它们从该数组中拉出,并在需要时将它们转换回数字。
【讨论】:
Dim number As Integer = 987654321
Dim digits() As Integer = number.ToString().Cast(Of Integer)().ToArray()
【讨论】:
.Cast(of Integer)()方法时得到一个无效的强制转换异常。
将在 3 个不同的消息框中显示任何数字。 您可以使用示例制作函数以更好地满足您的目的。
Sub GetNumber()
Dim x As Integer, s As String
x = 987
s = LTrim(Str(x))
For i = 1 To Len(s)
MsgBox Mid(s, i, 1)
Next i
End Sub
【讨论】:
我知道这是一个老问题,但这是我可以开始工作的最优雅的解决方案:
Dim key As Integer = 987654321
Dim digits() As Integer = System.Array.ConvertAll(Of Char, Integer)(key.ToString.ToCharArray, Function(c As Char) Integer.Parse(c.ToString))
【讨论】: