as Variant

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

as Variant

Сообщение Niko » 27.04.2006 (Чт) 11:11

dim pntTMP_2() as Variant
dim pointsTMP() as Variant

Окно Immediate:

? pntTMP_2(UBound(pntTMP_2) - 1)
107441.307081559

? pointsTMP(0)
107441.307081559

? pntTMP_2(UBound(pntTMP_2) - 1) = pointsTMP(0)
False

? str(pntTMP_2(UBound(pntTMP_2) - 1)) = str(pointsTMP(0))
True

Почему эти переменные равны только когда подставляю STR?

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

Сообщение alibek » 27.04.2006 (Чт) 11:17

Потому что таковы особенности Variant.
Попробуй сделать ?TypeName() для каждого элемента. А затем почитай, как надо сравнивать Float-числа.
Последний раз редактировалось alibek 27.04.2006 (Чт) 11:18, всего редактировалось 1 раз.
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.04.2006 (Чт) 11:18

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 27.04.2006 (Чт) 11:22

Спасибо!


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

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

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 189

    TopList  
cron