fix bug parsing lone zero followed by junk, and hex float over-reading