Следующая функция позволит Вам выполнить преобразование числа заданного типа (целого или с плавающей запятой) к ее строковому представлению.
#include <sstring> #include <string> template < typename T >; std::string toStr(T aVal) { std::ostringstream _oss; _oss << aVal; return _oss.str(); }
#include <sstring> #include <string> template < typename T > T fromStr(const std::string& aS) { std::istringstream _iss(aS); T _res; _iss >> _res; return _res; }
std::logic_errorПример использования функции fromStr :
long l_rez; std::string str="123"; try { l_rez = fromStr<long>( str ); } catch( std::logic_error ) { // обработка ошибки }
long l_rez = 456; std::string str; try { str = toStr<long>( l_rez ); } catch( std::logic_error ) { // обработка ошибки }
Комментарии
Отправить комментарий