I'm not sure it works on me. Not because I'm some super human resistant to advertising (I'm not) but because I'm so bad at math that when they start asking me about anything involving small change I tune out and overestimate by 50% rounded into nice whole numbers.
"This is 19.99"
"Okay so it's basically 30$."
It gives me nice surprises sometimes when I get my receipt.