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

one

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

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

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

В обоих случаях получаю False. Как так?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

alex1988

Client
Регистрация
13.07.2014
Сообщения
379
Благодарностей
157
Баллы
43
Да есть такая беда на 7.2.1.0

На версии 7.2.0.0 все работает нормально
Создал таску 23216 - но ответа нету еще(
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
т.е. предлагаешь использовать JS?

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

alex1988

Client
Регистрация
13.07.2014
Сообщения
379
Благодарностей
157
Баллы
43
т.е. предлагаешь использовать JS?


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

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Сейчас попробовал для теста так:

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

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

В обоих случаях False. Мистика!
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Не слишком ли часто возникают вопросы по экшену IF ? Вот постоянно на слуху что кубик IF не работает как надо.
Вот сравнение в C# не вызывает вопросов :-)
Совет. Сделать один раз снипет/плагин для сравнения чисел и забыть про проблемы с кубиком IF :-)
 
  • Спасибо
Реакции: samsonnn

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

alex1988

Client
Регистрация
13.07.2014
Сообщения
379
Благодарностей
157
Баллы
43

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
66967
66968
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

depo

Client
Регистрация
16.11.2018
Сообщения
15
Благодарностей
6
Баллы
3
If теперь не работает с текстом?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113
  • Спасибо
Реакции: alex1988 и one

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 526
Благодарностей
1 323
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113
Он имел ввиду что бы if считал количество букв по принципу "vasya">"pety" где в первом имени больше букв чем во втором.
Раньше это работало, но это было так сказать неправильно, недокументированная особенность как бы.
Проскакивали недавно примеры, что даже даты раньше сравнивали таким неправильным способом.
В общем, тут только привыкать к новым реалиям - считать кол-во символов в каждом плече выражения и сравнивать как числа.
 
  • Спасибо
Реакции: one и Gunjubasik

alex1988

Client
Регистрация
13.07.2014
Сообщения
379
Благодарностей
157
Баллы
43
В след. версии будет увеличена разрядность, можно будет сравнивать числа с бо'льшим кол-вом знаков после десятичного разделителя.
Это супер, ток лицензии кончились(( Ждал решения с падением Zenno на больших загрузках с post/get, оно вышло и поломали if логику старую((
 

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
639
Благодарностей
581
Баллы
93
Он имел ввиду что бы 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();
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
  • Спасибо
Реакции: Sergodjan

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Попробовал сравнение букв, работает корректно, версия 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 ведем.
 

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