x > 0 and x < 0 are both semidecidable. Which is to say, they can be decided, but their converses cannot. So if either of those are true, they will halt (by running them in parallel, and halting once one halts), but if neither of them are, it may not halt.
If you remove 0 from possible inputs, you no longer need to worry about that possibility, and the problem is then decidable.
If you remove 0 from possible inputs, you no longer need to worry about that possibility, and the problem is then decidable.