mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 22:52:19 +03:00
Исправляем ошибку выполнения бинарных опираций в сценарии
когда один из операндов не число или не строка Дополнительно добавляем функцию вырезания подстроки из строки с использованием оператора - (минус)
This commit is contained in:
@@ -63,6 +63,7 @@ void IoTItem::setValue(const String& valStr, bool genEvent) {
|
||||
|
||||
if (value.isDecimal) {
|
||||
value.valD = valStr.toFloat();
|
||||
getRoundValue();
|
||||
} else {
|
||||
value.valS = valStr;
|
||||
}
|
||||
@@ -117,6 +118,8 @@ void IoTItem::regEvent(const String& value, const String& consoleInfo, bool erro
|
||||
}
|
||||
|
||||
String IoTItem::getRoundValue() {
|
||||
if (!value.isDecimal) return value.valS;
|
||||
|
||||
if (_round >= 0 && _round <= 6) {
|
||||
int sot = _round ? pow(10, (int)_round) : 1;
|
||||
value.valD = round(value.valD * sot) / sot;
|
||||
@@ -126,7 +129,8 @@ String IoTItem::getRoundValue() {
|
||||
value.valS = (String)buf;
|
||||
return value.valS;
|
||||
} else {
|
||||
return (String)value.valD;
|
||||
value.valS = (String)value.valD;
|
||||
return value.valS;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user