Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tumanovalex
3 / 3 / 0
Регистрация: 09.07.2009
Сообщений: 221
#1

Обобщенная функция перевода строки в число - C++

14.08.2014, 21:30. Просмотров 465. Ответов 3
Метки нет (Все метки)

В книге "С++. Сборник рецептов" нашел обобщенную функцию преобразования строки в число:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <sstream>
#include <conio.h>
 
using namespace std;
 
template<typename T>
T strNum(const string& str)
{
  stringstream ss(str);
  T tmp;
  ss >> tmp;
  if (ss.fail())
  {
    string s = "Can`t format  " + str + " in number!";
    cout << s << endl; 
  }
  return tmp;
}
 
int main(int argc, char** argv) 
{
  double d = strNum<double>("300e-5");
  cout << d << endl;
  float f = strNum<float>("345.234");
  cout << f << endl;
  int i = strNum<int>("345.05");
  cout << i << endl;
  int err= strNum<int>("asdf");
  _getch();
  return(EXIT_SUCCESS);
}
Далее в тексте книги говорится, что параметром шаблона можно сделать тип символов. Подскажите, пожалуйста, что автор книги имеет ввиду, что-то я не понял. Проект прикрепляю.
0
Вложения
Тип файла: zip CppSolution.zip (2.3 Кб, 2 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2014, 21:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обобщенная функция перевода строки в число (C++):

Не работает обобщенная инициализирующая функция для конструкторов - C++
Всем привет, делаю очередную программу по книжке Липманна, задание такое - есть класс String, который имеет 3 конструктора, первый является...

Написать программу удаления из текстового файла символов перевода строки ‘\n’ и перевода каретки ‘\r’ - C++
Здравствуйте,помогите написать программу на подобии этой,только не подсчета,а удаления.Заранее благодарен! #include &lt;stdio.h&gt; int...

Функция перевода систем счисления - C++
Написать функцию с параметром перевода десятичного числа из системы с основанием меньше 10 в десятичную систему счисления

Функция перевода из 10-ричной СС в 80-ричную СС - C++
Здравствуйте, как реализовать функцию перевода из 10-ричной СС, в 80-ричную СС ? подход перевода должен быть такой же как и к...

Функция перевода символа в цифру - C++
Здравствуйте! Хочу написать программу для перевода символа в цифру с помощью функции. int Func(char s) { if (s &gt;='0' &amp;&amp; s &lt;='9') return...

Функция перевода из Float в Hex - C++
Подскажите функции для перевода вещественного числа в шестнадцатеричное число, и будет ли она переводить отрицательное число?

3
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
14.08.2014, 21:46 #2
Цитата Сообщение от tumanovalex Посмотреть сообщение
Далее в тексте книги говорится, что параметром шаблона можно сделать тип символов. Подскажите, пожалуйста, что автор книги имеет ввиду, что-то я не понял.
Наверное вот это
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<typename T, typename CharT>
T strNum(const std::basic_string<CharT>& str)
{
    std::basic_stringstream<CharT> ss(str);
    T tmp;
    ss >> tmp;
    if (ss.fail())
    {
        std::cout << "Can`t format number!" << std::endl;
    }
    return tmp;
}
0
tumanovalex
3 / 3 / 0
Регистрация: 09.07.2009
Сообщений: 221
14.08.2014, 22:45  [ТС] #3
Спасибо! Как я понял, теперь можно использовать char и wchar. Правильно?
0
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
14.08.2014, 22:55 #4
Цитата Сообщение от tumanovalex Посмотреть сообщение
Спасибо! Как я понял, теперь можно использовать char и wchar. Правильно?
Именно.
0
14.08.2014, 22:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2014, 22:55
Привет! Вот еще темы с ответами:

Функция перевода из десятичной в двоичную систему - C++
Здравствуйте, помогите пожалуйста написать функцию перевод из десятеричной в двоичную систему. Результат нужно записать в переменную...

рекурсивна функция перевода двоичных цифр в десятичное - C++
Написать рекурсивную функцию перевода двоичных цифр в эквивалентное десятичное число. __________________________________________________...

Функция для перевода курсора на заданную координату - C++
Как создать функцию для перевода курсора на заданную координату? Помогите!

Функция перевода из 16-ричной системы счисления в десятичную - C++
Есть ли в си++ такая фун-я?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru