Преобразование строки в числа

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Преобразование строки в числа

Сообщение KPEATOP » 14.09.2009 (Пн) 7:14

Доброе утро всем!
Имеется строка :
stroka= ".1120E+02 .7415E+02 .2872E+03 .5392E-05"
Не помню как преобразовать ее в четыре числа, чтобы стало n1=.1120E+02, n2=.7415E+02, n3=.2872E+03, n4=.5392E-05
Можно конечно использовать цикл от 1 до len(stroka) и рассматривать при помощи mid() каждый элемент, например, когда появиться пробел, брать все прошедшие элементы и присваивать числу, но это долго и нудно. Я помню, что есть какой то способ сразу присвоить из строки 4 значения.
Вечность пахнет нефтью

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Преобразование строки в числа

Сообщение alibek » 14.09.2009 (Пн) 7:59

KPEATOP писал(а):Не помню как преобразовать ее в четыре числа

Как ты можешь помнить то, о чем не знаешь?

KPEATOP писал(а):Я помню, что есть какой то способ сразу присвоить из строки 4 значения.

Нет такого способа.
Lasciate ogni speranza, voi ch'entrate.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Преобразование строки в числа

Сообщение MIT » 14.09.2009 (Пн) 8:26

Split(" ") ?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Преобразование строки в числа

Сообщение KPEATOP » 14.09.2009 (Пн) 8:47

Неужели нет такого способа. Значит мне память изменяет. А при помощи Split как ?
Вечность пахнет нефтью

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Преобразование строки в числа

Сообщение Viper » 14.09.2009 (Пн) 9:26

Код: Выделить всё
Dim arItems() As String
arItems = Split(s, " ")
Как то так, а потом каждый элемент преобразовываешь в число.
Весь мир матрица, а мы в нем потоки байтов!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Преобразование строки в числа

Сообщение iGrok » 14.09.2009 (Пн) 11:00

KPEATOP писал(а):Неужели нет такого способа. Значит мне память изменяет. А при помощи Split как ?

В VB нет такого способа. Может, ты его с сишным sscanf перепутал..
label:
cli
jmp label

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Re: Преобразование строки в числа

Сообщение zHackLeX » 18.09.2009 (Пт) 18:09

По-видимому, автор хочет вот этого. :)
пусть Values = ".15415e-2 .8424e+1 .13411e-2"
Код: Выделить всё
    StringValues = Split(Values, " ")
    ReDim DoubleValues(LBound(StringValues) To UBound(StringValues))
    For i& = LBound(StringValues) To UBound(StringValues)
        DoubleValues(i) = Val(StringValues(i))
    Next

Массив DoubleValues() будет содержать значения типа Double,
если строка Values действительно была набором чисел, разделённых
пробелами.

ЗЫ. Конечно, решение очевидно, но вдруг ещё нужно... :roll:
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 87

    TopList