You're missing the point -- there is no such thing as a precisely correct conversion to a floating point number.
Your suggestion would make type conversion utterly unusable as it would fail seemingly randomly -- for example on simple numbers such as "0.1"