【问题标题】:Split integer into array VB将整数拆分为数组 VB
【发布时间】:2011-03-09 17:01:51
【问题描述】:

下午好,

如何在 VB 中拆分一个值并将其插入到数组中?

一个例子:

初始值为987654321。

使用 for 循环我需要像这样插入值:

Position(1) = 9 '分割后整数的第一个数

Position(2) = 8 '拆分整数的第二个数

等等……

谢谢。

【问题讨论】:

    标签: vb.net arrays


    【解决方案1】:

    此代码未经测试:

    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
    

    【讨论】:

      【解决方案2】:

      你可以试试:

      Dim number As Integer = 987654321
      Dim strText As String = number.ToString()
      
      Dim charArr() As Char = strText.ToCharArray()
      

      数字分开后,您可以将它们从该数组中拉出,并在需要时将它们转换回数字。

      【讨论】:

        【解决方案3】:
        Dim number As Integer = 987654321
        Dim digits() As Integer = number.ToString().Cast(Of Integer)().ToArray()
        

        【讨论】:

        • 调用.Cast(of Integer)()方法时得到一个无效的强制转换异常。
        【解决方案4】:

        将在 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
        

        【讨论】:

          【解决方案5】:

          我知道这是一个老问题,但这是我可以开始工作的最优雅的解决方案:

          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))
          

          【讨论】:

            猜你喜欢
            • 2016-11-28
            • 1970-01-01
            • 2010-12-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-08-01
            • 1970-01-01
            • 2016-12-19
            相关资源
            最近更新 更多