Я использую Node.JS, чтобы запустить мою световую полосу Philips Hue, чтобы она соответствовала относительной яркости и цветовой температуре солнца в течение дня, и система рассчитана на запуск каждые 5 секунд и отключение программы, если обнаружит изменение между каждым l oop. Я достигаю этого путем установки цветовой температуры и яркости, равных выходным данным уравнения, где х - текущее время, и, очевидно, эти возвратные значения плавают
В настоящее время я говорю программе просто округлить до ближайшего числа и затем установите это округленное число как темп / яркость, затем запишите в другую переменную эту настройку (прямо из лампы, а не из переменной), а затем в следующем l oop посмотрите, соответствует ли эта переменная настройкам лампы. Если он отличается, он был изменен вручную, так что он отключает программу, чтобы я мог установить лампочку на то, что я хочу
Но у меня было несколько проблем, когда на следующем l oop, перед лампочкой обновляется (поэтому оно должно иметь то же значение), считывая, что текущие настройки равны + -1 по сравнению с последней записанной настройкой. И мне интересно, может ли это быть связано с тем, что число на самом деле округляется в двух разных направлениях, например, когда оно устанавливает число, округленное в меньшую сторону, но при записи выходных данных компьютерная оценка на самом деле устанавливает его слишком большим и округляет вместо этого
TL; DR: я установил значение с округленной плавающей точкой, я записал значение, которое должно быть таким же, оно заканчивается + -1 значения, которое якобы было установлено на