Fixed and improved String::IsNumber