Parse floating point values with negative exponent correctly. Fix bug #4415