Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Арифметика в VBA / 4 сообщений из 4, страница 1 из 1
04.04.2006, 08:43
    #33642473
AHTOHV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметика в VBA
Как такое может быть?????????????

Private Sub CommandButton1_Click()
Dim X(11) 'As String
Dim i As Integer
Dim Count 'As Double
X(0) = 8.888
X(1) = 8.888
X(2) = 8.888
X(3) = 8.888
X(4) = 8.888
X(5) = 8.888
X(6) = 8.888
X(7) = 8.888
X(8) = 8.888
X(9) = 8.888
X(10) = 8.888
X(11) = 2.232
Count = 0
For i = 0 To 11
Count = Count + X(i)
Next i
If Count <> 100# Then MsgBox ("Как не равно 100?")
End Sub
...
Рейтинг: 0 / 0
04.04.2006, 09:40
    #33642560
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметика в VBA
если тип
Код: plaintext
Dim mCount As Currency
то все нормально работает

а Double если я правильно понял справку использую для дат
и еще если
Код: plaintext
If Round(mCount) <>  100  Then MsgBox ("Êàê íå ðàâíî 100?")
то тоже нормально

кстати 100# - возвращает тип Double
забавно всё это.
...
Рейтинг: 0 / 0
04.04.2006, 09:42
    #33642563
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметика в VBA
Нельзя сравнивать целые числа и числа с плавающей запятой!!!
...
Рейтинг: 0 / 0
04.04.2006, 09:42
    #33642564
СлепойСлон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Арифметика в VBA
числа double нельзя сравнивать на неравенство,
лучше

abs(count - 100#) < 0.001

ИМХО
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
просто трет
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Арифметика в VBA / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]