I am running out of ideas because it works fine for me.
The following 4 attachments show what I have done.
First, I created a column #price so we aren't using different columns.
Next I entered a rule:
Here is that rule in the list:
And here is the result:
As you can see, the line with price 0.00 is green and the lines with no price are not.
Idea: some other rule is being applied to the lines so that the "price" rule is being ignored. Try moving the price rule to the top.