Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 07:41

растолкуйте банальную вещь...

Автор SanSay, 05 дек 2013, 13:18

0 Пользователей и 1 гость просматривают эту тему.

SanSay

сравнение цен

Если ТекущаяСтрока.СтараяЦена > ТекущаяСтрока.НоваяЦена Тогда

обрабатывается НЕправильно

а код

Если ТекущаяСтрока.СтараяЦена - ТекущаяСтрока.НоваяЦена > 0 Тогда

обрабатывается верно

в чем разница? вроде как одно и тоже

Пояснение в цифрах
1 вариант (обрабатывается НЕ верно)
если 1400 > 150 тогда
2 вариант (обрабатывается верно)
если 1400 - 150 > 0 тогда

как сам разобрался создается впечатление, что в первом варианте он сравнивает только 3 первые цифры, т.е. если написать
если 1600 > 150 тогда    тогда обработается верно


так какого фига он сравнивает только первые 3 цифры?
П.С. в макросах Екселя таже фигня кстати

pavl_vs

Результат понятен: в первом примере логическая операция сравнения (сравниваются значения в строковом формате, сравниваются символы, но не цифры), во втором - математическая (зачения приводятся к числовому типу, если это возможно; если нет, то обычно возникает сообщение о недопустимости операции). Очень хорошо, что Вы сослались на Excel - в руководствах по VBA описание этого имеется.

SanSay


mixqn

ТекущаяСтрока.СтараяЦена и ТекущаяСтрока.НоваяЦена какой тип данных имеют?

SanSay

mixqn, pavl_vs уже разъяснил в чем фишка.

Теги:
Рейтинг@Mail.ru

Поиск