update percent off to handle 0 and nil