Нашел небольшой баг в операторе IF, исправить возможно?

Pendolf

Client
Регистрация
25.11.2019
Сообщения
46
Благодарностей
5
Баллы
8
Сама суть бага заключается в сравнении одинаковых чисел большой длины, например {-Variable.X-}=={-Variable.Y-}, значение должно быть истинным только тогда, когда они равны, но если значения X = 15655000000001564, а значения Y = 15655000000001565, именно второе значение на одну единицу больше, все равно ответ будет истинным, если больше или меньше чем на две не проходит. Почему приходится регуляркой все делать точнее, если по сути все должно работать?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 599
Баллы
113
скорее всего особенности js. Хочешь точно сравнивать - сравнивай как строки в кавычках
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 006
Благодарностей
538
Баллы
113
Сама суть бага заключается в сравнении одинаковых чисел большой длины, например {-Variable.X-}=={-Variable.Y-}, значение должно быть истинным только тогда, когда они равны, но если значения X = 15655000000001564, а значения Y = 15655000000001565, именно второе значение на одну единицу больше, все равно ответ будет истинным, если больше или меньше чем на две не проходит. Почему приходится регуляркой все делать точнее, если по сути все должно работать?
C#:
string line = project.Variables["X"].Value;
string line2 = project.Variables["Y"].Value;
if (line == line2)
    return true;
return false;
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 526
Благодарностей
883
Баллы
113
Сама суть бага заключается в сравнении одинаковых чисел большой длины, например {-Variable.X-}=={-Variable.Y-}, значение должно быть истинным только тогда, когда они равны, но если значения X = 15655000000001564, а значения Y = 15655000000001565, именно второе значение на одну единицу больше, все равно ответ будет истинным, если больше или меньше чем на две не проходит. Почему приходится регуляркой все делать точнее, если по сути все должно работать?
В высоконагруженных проектах желательно использовать C#. Есть подозрение, что разработчики под капот кубика засунули много полезного, но в некоторых случаях не нужного. У меня, пока не переписал IF на код, кубик люто тормозил выполнение.
 

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