Экшен If не сравнивает десятичные числа?

  • Автор темы Автор темы one
  • Дата начала Дата начала

one

Client
Регистрация
22.09.2015
Сообщения
7 019
Реакции
1 314
Баллы
113
Надо сравнить {-Variable.Var1-} <= {-Variable.Var2-}

Дано, вариант 1
{-Variable.Var1-} = 1,05
{-Variable.Var2-} = 2,10

Дано, вариант 2
{-Variable.Var1-} = 1.05
{-Variable.Var2-} = 2.10

В обоих случаях получаю False. Как так?
 
т.е. предлагаешь использовать JS?

На версии 7.2.0.0 все работает нормально
Вот как раз на этой версии и пробую.
 
т.е. предлагаешь использовать JS?


Вот как раз на этой версии и пробую.
Вся беда в том что версий с правками било много - но все они выходили под версией 7.2.0.0
 
Сейчас попробовал для теста так:

Дано, вариант 1
{-Variable.Var1-} = 1
{-Variable.Var2-} = 2

Дано, вариант 2
{-Variable.Var1-} = 2
{-Variable.Var2-} = 1

В обоих случаях False. Мистика!
 
Не слишком ли часто возникают вопросы по экшену IF ? Вот постоянно на слуху что кубик IF не работает как надо.
Вот сравнение в C# не вызывает вопросов :)
Совет. Сделать один раз снипет/плагин для сравнения чисел и забыть про проблемы с кубиком IF :)
 
  • Оценить
Реакции: samsonnn
Работает как и требуется:
66966
 
66967
66968
 
If теперь не работает с текстом?
 
  • Оценить
Реакции: alex1988 и one
Он имел ввиду что бы if считал количество букв по принципу "vasya">"pety" где в первом имени больше букв чем во втором.
Раньше это работало, но это было так сказать неправильно, недокументированная особенность как бы.
Проскакивали недавно примеры, что даже даты раньше сравнивали таким неправильным способом.
В общем, тут только привыкать к новым реалиям - считать кол-во символов в каждом плече выражения и сравнивать как числа.
 
  • Оценить
Реакции: one и The_vAe
В след. версии будет увеличена разрядность, можно будет сравнивать числа с бо'льшим кол-вом знаков после десятичного разделителя.
Это супер, ток лицензии кончились(( Ждал решения с падением Zenno на больших загрузках с post/get, оно вышло и поломали if логику старую((
 
Он имел ввиду что бы if считал количество букв по принципу "vasya">"pety" где в первом имени больше букв чем во втором.
Попробовал сравнение букв, работает корректно, версия 7.1.7.1
C#:
Развернуть Свернуть Копировать
var name1 = project.Variables["name1"].Value.Length;
var name2 = project.Variables["name2"].Value.Length;
if (name1 > name2) return true;
throw new Exception();
 
  • Оценить
Реакции: Sergodjan
Попробовал сравнение букв, работает корректно, версия 7.1.7.1
C#:
Развернуть Свернуть Копировать
var name1 = project.Variables["name1"].Value.Length;
var name2 = project.Variables["name2"].Value.Length;
if (name1 > name2) return true;
throw new Exception();
Мы тут речь про экшен IF ведем.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)