Уважаемые, а как скрепно-правильно округлять значение переменных до десятых с шагом 0.2? С шагом 0.1 понятно:
val = round(currentTemperature * 10.0) / 10.0;
zSender.AddItem("zsTemp", val);
а вот с 0.2 как?
val = round(currentTemperature * 5.0) / 5.0;
zSender.AddItem("zsTemp", val);
выдаёт фигню, что моих знаний математики хватает, чтобы понять, что фигня.
Зачем: просто на графике zabbix при округлении до 0.1 получается много некрасивых “запилов”.
2: @sadman41, я в курсе, что “красивый график” и “достоверность данных” в одном предложении не употребляются. Там до этого ещё сглаживание, дай Бог, до сендера только название переменной останется актуальным.
Задача вроде бы простая. Округлять данные температуры / влажности с дискретностью 0.2 градуса / процента. Можно, конечно, округлять и до целых, но тогда вообще неинтересно. Нафига мне тогда “процессор в два ядра и памяти три ведра”.
График рисует Zabbix. Это система мониторинга.
Взрывных случаев повышения температуры-влажности не предвидится. Это учебные аудитории, там максимум перегар ловить надо (и то адресно).
Вообще нет смысла в округлении до десятых/сотых, имхо. До целых вполне норм.
Опираемся в оценке на санпин, а там никаких десятых нет, вроде. Да и градусники дадут большую погрешность / болтание в воздушном объеме, чем градус. Скоко там аудитория…кубов 100, с дверями, окнами и вентиляцией.
там и будет 15.8 если там не 15.8 смотри код, что-то там не так сделано, я то думал что тебе не нравится само округление в большую или меньшую сторону)
Да всё и началось с санпина. Готовим мехводов по заказу МО. И посещаемось занятий оставляет желать чего угодно. Методисты обзванивают “ленивцев” и их родителей. Одну такую родительницу вызвонили, она на нас СЭС натравила, видите ли, её личинка не может учиться в таких условиях. [б…ь] а какого [х…я] он в мехводы записался, да ещё и на топливозаправщик.
Ну и… zabbuino таки работает, СПАСИБО!, но мне нужен несколлько другой функционал.