fix float parsing logic for long decimal expansions