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