Как проверять на нестрогое неравенство вещественные числа?
Много букв, не осилил.
Но для вашей задачи просто переведите float в double и забудьте об этой проблеме.
Другой вариант - пересчитывать дельту в число с фиксированной точностью, в целое грубо говоря.

Вопросы округления и сравнения в числах с плавающей точкой обычно важны в математических алгоритмах, где реально много математики. В прикладных задачах обычно это можно легко обойти, варианты обхода я написал выше.

Про сравнение чисел с плавающей точкой есть вводные статьи на хабре. Вариантов сравнения, которые бы удовлетворяли во всех случаях я не встречал. Использовал несколько подходов, но все они работают в каких-то ситуациях, в других не работают.  Ситуация тут это набор чисел для сравнения.
Наиболее адекватный вариант, по моему, в boostе.

https://www.boost.org/doc/libs/1_64_0/libs/math/do...
https://rsdn.org/forum/cpp/2640596.1
https://habr.com/ru/post/112953/
https://randomascii.wordpress.com/2012/02/25/compa...
https://stackoverflow.com/questions/17333/what-is-...
Мне вот этот код понравился
bool approximatelyEqual(float a, float b, float epsilon)
{
    return fabs(a - b) <= ( (fabs(a) < fabs(b) ? fabs(b) : fabs(a)) * epsilon);
}

bool essentiallyEqual(float a, float b, float epsilon)
{
    return fabs(a - b) <= ( (fabs(a) > fabs(b) ? fabs(b) : fabs(a)) * epsilon);
}

bool definitelyGreaterThan(float a, float b, float epsilon)
{
    return (a - b) > ( (fabs(a) < fabs(b) ? fabs(b) : fabs(a)) * epsilon);
}

bool definitelyLessThan(float a, float b, float epsilon)
{
    return (b - a) > ( (fabs(a) < fabs(b) ? fabs(b) : fabs(a)) * epsilon);
}