diff --git a/src/classes/IoTScenario.cpp b/src/classes/IoTScenario.cpp index bd6eaf26..9980fce0 100644 --- a/src/classes/IoTScenario.cpp +++ b/src/classes/IoTScenario.cpp @@ -200,6 +200,9 @@ class BinaryExprAST : public ExprAST { break; } } else { // иначе имеем дело с операциями + или - или ==, которые могут работать с разными типами данных + if (lhs->isDecimal && lhs->valS == "") lhs->valS = (String)lhs->valD; // небольшой костыль пока не переделаем работу со значениями, планируется добавить long, работу со временем, перенести округление и модификаторы в IoTValue + if (rhs->isDecimal && rhs->valS == "") rhs->valS = (String)rhs->valD; // пока для сохранения округления в IoTItem применяется хитрость с сохранением внешнего вида числа в строку valS, + // но некоторые модули и системные не делают этого, поэтому отлавливаем эту ситуацию тут и учитываем. switch (Op) { case tok_equal: if (lhs->isDecimal && rhs->isDecimal)