#include <iostream> #include <sstream> #include <string> using namespace std; double parse(const string& str) { stringstream ss(str); double d = 0; ss >> d; if (ss.fail( )) { throw (str +" is not a number"); } return (d); } int main( ) { try { cout << parse("1.234e5") << endl; cout << parse("6.02e-2") << endl; cout << parse("asdf") << endl; } catch (string& e) { cerr << e << endl; } }