Чтобы разбить строку на группы, вы можете просто использовать команду Split
. Ваш код - это длинный способ сделать это - хотя он будет падать, когда он попытается разобраться с четырехзначным числом.
Создать массив строк, без заранее определенного числа элементов, как это -
Dim myArray()
Заполняем его с этим кодом
туАггау = Split (декабрь, "")
Так что теперь, используя ваш пример ввода, ваш ascii string массив содержит эти данные
myArray (0) = "912"
туАггау (1) = "697"
туАггау (2) = "583"
туАггау (3) = "тысяча шестьдесят-пять"
туАггау (4) = "261"
Если вы хотите иметь номера, которые можно использовать в арифметических операциях, используйте этот код. Функция предполагает, что вы используете целые числа, но если вы хотите использовать другой тип, просто измените все вхождения Integer
на тип, который вы хотите обработать, и измените функцию CInt
на CDbl или cSng.
Public Shared Function DecimalToASCII(dec As String) As Integer()
'create an array of strings
Dim ascii() As String
'split each group into the array
ascii = Split(dec, ",")
'declare numbers array that is the same size as the ascii array
Dim numbers(ascii.GetUpperBound(0)) As Integer
'convert the array of strings to an array of numbers
For i As Integer = 0 To ascii.GetUpperBound(0) - 1
numbers(i) = CInt(ascii(i))
Next
'return an array of numbers containing each group
Return numbers
End Function
Используйте его как этот
Dim dec As String = "912,697,583,1065,261"
Dim MyNumbersArray() As Integer = DecimalToASCII(dec)
С помощью этого кода, вы будете иметь массив Целые как этот
MyNumbersArray (0) = 912
MyNumbersArray (1) = 697
MyNumbersArray (2) = 583
MyNumbersArray (3) = 1065
MyNumbersArray (4) = 261
Теперь вы можете выполнять любые математические вы хотите использовать элементы массива.
Это однострочный: Return Val (dec) .ToString ("N0") –
Это в десятичном формате, и я хочу, чтобы он вводил его в текстовое поле1.text: '"912,697,583,1065,261"' , и я хочу сделать операцию для каждой группы чисел между запятой, а затем преобразовать ее в Ascii ??? @ Hans Passant – Goma
Да, это то, что делает этот лайнер. Только две вещи, которые вы можете сделать неправильно, а не пытаться или не сообщать нам, что пошло не так. –