Преобразование числа в строку и наоборот с использование stl



Следующая функция позволит Вам выполнить преобразование числа заданного типа (целого или с плавающей запятой) к ее строковому представлению.

  1. #include <sstring>
  2. #include <string>
  3.  
  4. template < typename T >;
  5. std::string toStr(T aVal)
  6. {
  7. std::ostringstream _oss;
  8. _oss << aVal;
  9. return _oss.str();
  10. }
Функция, приведенная ниже, предназначена для обратного преобразования строки к числу заданного типа ( целое число, число с плавающей запятой ).
  1. #include <sstring>
  2. #include <string>
  3.  
  4. template < typename T >
  5. T fromStr(const std::string&amp; aS)
  6. {
  7. std::istringstream _iss(aS);
  8. T _res;
  9. _iss >> _res;
  10. return _res;
  11. }
В случае, если преобразование по каким-либо причинам невозможно выбрасывается исключение std::logic_error
Пример использования функции fromStr :
  1. long l_rez;
  2. std::string str="123";
  3.  
  4. try {
  5. l_rez = fromStr<long>( str );
  6. } catch( std::logic_error ) {
  7. // обработка ошибки
  8. }
Пример использования функци toStr :
  1. long l_rez = 456;
  2. std::string str;
  3.  
  4. try {
  5. str = toStr<long>( l_rez );
  6. } catch( std::logic_error ) {
  7. // обработка ошибки
  8. }

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Защита от спама: ответьте на вопрос
Image CAPTCHA
Enter the characters (without spaces) shown in the image.