Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / условие выполняется не точно / 9 сообщений из 9, страница 1 из 1
11.02.2010, 18:25
    #36464202
segail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
Здравствуйте

Подскажите пожалуйста, почему данное условие выполняется не точно.
Если соотношение значений будет например 100 > 99,5 (условие выполняется хотя и не должно)
Если соотношение значений будет 101 > 99,5 только в этом случае условие выполняется.

Код: plaintext
1.
If (CDbl(TextBox1. Value) + Cells(i +  35 ,  21 ).Value) > Round(Cells(i +  34 ,  21 ).Value * (- 1 ),  0 ) Then  
                MsgBox "ВНИМАНИЕ!" & vbCrLf & "" & vbCrLf & "1. Объем списания не должен превышать объема недостачи." & vbCrLf & "2. Объем прибыли не покрывается объемом списания.",  16 , "Запрет ввода"
...
Рейтинг: 0 / 0
11.02.2010, 18:28
    #36464212
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
segail,

а тут что? Cells(i + 34, 21).Value
...
Рейтинг: 0 / 0
11.02.2010, 18:33
    #36464229
segail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
Прошу прощенья
Если 100>99,5 то сообщение не выходит
Если 101>99,5 то выходит

Shamanussegail,

а тут что? Cells(i + 34, 21).Value
Тут 99,5
...
Рейтинг: 0 / 0
11.02.2010, 18:35
    #36464235
segail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
Точнее
-99,5*-1=99,5
...
Рейтинг: 0 / 0
11.02.2010, 18:41
    #36464245
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
segail,

ну так структура Round(Cells(i + 34, 21).Value * (-1), 0) возвразщает 100 т.к. округление 99,5 до нуля знаков по правилам округления превращает его в 100

итого у Вас уравнение 100>100 которое точно равно False
...
Рейтинг: 0 / 0
11.02.2010, 18:47
    #36464255
segail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
Shamanus,
Round(Cells(i + 34, 21).Value * (-1), 00)
...
Рейтинг: 0 / 0
11.02.2010, 18:49
    #36464257
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
segailShamanus,
Round(Cells(i + 34, 21).Value * (-1), 00)
Shamanus,
Round(Cells(i + 34, 21).Value * (-1), 1) где последняя единица означает количество знаков после запятой
...
Рейтинг: 0 / 0
11.02.2010, 18:51
    #36464262
segail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
Shamanus,
Понял
Попробую
...
Рейтинг: 0 / 0
11.02.2010, 18:55
    #36464270
segail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие выполняется не точно
ShamanussegailShamanus,
Round(Cells(i + 34, 21).Value * (-1), 00)
Shamanus,
Round(Cells(i + 34, 21).Value * (-1), 1) где последняя единица означает количество знаков после запятой
Благодарю, нормально. Полдня сидел с этими десятичными знаками.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / условие выполняется не точно / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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