powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / условие выполняется не точно
9 сообщений из 9, страница 1 из 1
условие выполняется не точно
    #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
условие выполняется не точно
    #36464212
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,

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

Shamanussegail,

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

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

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


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