Note that guile 2.0.11 also gives strange results for large negative exponents:

scheme@(guile-user)> (string->number "1e-400")
ERROR: In procedure string->number:
ERROR: In procedure string->number: Value out of range: -400

 

For comparison, in Scheme 48 1.9

(string->number "1e-400") => 0.0

(string->number "1e400") => +inf.0

(string->number "1e400xyz") => #f