9999999999999998.0 in IEEE754 is 0x4341C37937E07FFF
"9999999999999999.0" in IEEE754 is 0x4341C37937E08000 - the significand is exactly one higher.
With an exponent of 53, the ULP is 2 - so parsing "9999999999999999.0" returns 1.0E16 because it's the next representable number.
Using one of these workarounds requires a certain prescience of the
data domain, so they were not generally considered for the table above.