Это может возникать из-за того, что десятичные числа с плавающей точкой под капотом всё равно имеют двоичное представление, в связи с чем число может быть не 20.0, а, к примеру, 20.000000001, и тогда 20.000000001 - 20 будет 0.000000001, что больше нуля.
Оперируйте целыми числами в таких случаях.