Author Topic: Обычное условие, но почему не работает?  (Read 2007 times)

0 Members and 1 Guest are viewing this topic.

dmutruk

  • Освоившийся
  • **
  • Posts: 40
    • View Profile
Кто может обьяснить почему неверное условие получается и внутрь ифа не входит?

Code: (clickermann) [Select]
arrpush($x, 2.2)
arrpush($x, 14.2)

IF( $x[0] - int($x[0]) = $x[1] - int($x[1]) )
   logwrite("ок")
end_if
halt

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
У меня работает
« Last Edit: June 15, 2019, 02:44:02 AM by Космич »
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

dmutruk

  • Освоившийся
  • **
  • Posts: 40
    • View Profile
У меня:
кликкер 4,13,014 x64
винда 10 1809 (17763,503)

И вообще такая конструкция сравнения десятых долей через раз работает. У меня около сотни таких проверок идет и один вариант работает, а скопированный такой же с изменением одной переменной не работает. Пришлось избавиться от такой конструкции, но хотелось бы понять в чем причина такого поведения.

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
На версии 4,13,014 x64 действительно не работает, но на х32 всё нормально. Впрочем, это не единственная проблема х64 версии, поэтому лучше скачай х32.
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

dmutruk

  • Освоившийся
  • **
  • Posts: 40
    • View Profile
Спасибо, заново переделывать уже не буду конечно, но на х32 пожалуй перейду.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
А я все не успокоюсь. Почему так?, почему в 64х не работает, загадка. Перепробовал всевозможные махинации. Помогает лишь присвоение вычислений до условия в отдельные переменные. В чем тут за загвоздка?