mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
Исправляем ошибку округления значений в IoTSensor и убираем лишние нули в дробях
This commit is contained in:
@@ -52,12 +52,21 @@ void IoTSensor::regEvent(float value, String consoleInfo = "") {
|
|||||||
if (_multiply) value = value * _multiply;
|
if (_multiply) value = value * _multiply;
|
||||||
if (_plus) value = value + _multiply;
|
if (_plus) value = value + _multiply;
|
||||||
if (_round != 0) {
|
if (_round != 0) {
|
||||||
if (value > 0) value = (int)(value * _round + 0.5) / _round;
|
if (value > 0) {
|
||||||
if (value < 0) value = (int)(value * _round - 0.5) / _round;
|
value = (int)(value * _round + 0.5F);
|
||||||
|
value = value / _round;
|
||||||
|
}
|
||||||
|
if (value < 0) {
|
||||||
|
value = (int)(value * _round - 0.5F);
|
||||||
|
value = value / _round;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (_map1 != _map2) value = map(value, _map1, _map2, _map3, _map4);
|
if (_map1 != _map2) value = map(value, _map1, _map2, _map3, _map4);
|
||||||
|
|
||||||
regEvent((String)value, consoleInfo);
|
// убираем лишние нули
|
||||||
|
char buf[20];
|
||||||
|
sprintf(buf, "%g", value);
|
||||||
|
regEvent((String)buf, consoleInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IoTSensor::doByInterval() {}
|
void IoTSensor::doByInterval() {}
|
||||||
|
|||||||
Reference in New Issue
Block a user