Fixed handling of "undefined", broken by my last change.
Added a test for empty strings.

-- Also had to change the exponential number notation from an uppercase
'E' to a lowercase 'E'.
-- As it was, the tests refused to run on modern versions of Chrome, IE,
and Firefox.
-- After changing it to a lowercase 'E', the tests pass on all three
browsers.