Это официальное объяснение команды if относительно EQUAL, которая требует, чтобы обе стороны имели значение действительное число , вот почему ваша ветвь if никогда не будет оценена.
if(<variable|string> LESS <variable|string>)<br> if(<variable|string> GREATER <variable|string>)<br> if(<variable|string> EQUAL <variable|string>)<br>
True if the given string or variable's value is a valid number and the inequality or equality is true.