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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
#1

int в string - C++

14.08.2012, 17:21. Просмотров 1569. Ответов 15
Метки нет (Все метки)

У меня в переменных x и y содержатся определенные числа, причем переменные типа string. Мне нужно как то сложить эти числа и поместить в новую переменную. Как мне это осуществить?



И еще один вопрос: как можно можно преобразовать тип string в int или наоборот, если в переменной содержится число
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2012, 17:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос int в string (C++):

Реализация функции char *padl(const char *string, int len, int c=' ') - C++
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

Как вставить элемент и вывести элементы на экран в map<string, map<string,int>> ? - C++
У меня есть map&lt;string, map&lt;string,int&gt;&gt;, в него надо добавить элементы (типа Ivanov potato 200) Использовать именно map&lt;string,...

Функция isspace и тип string: Не существует подходящей функции преобразования из "std::string" в "int" - C++
Добрый день! Я только начинаю изучать язык c++ по книге &quot;Язык программирования С++. Базовый курс 5-е изд 2014(Стэнли Б. Липпман)&quot;. ...

Int to string - C++
Какой способ перевода Int в String самый лёгкий ? В делфи привык писать Inttostr (i) , а на с++ такое есть ?

string в int - C++
народ подскажите пожалуйств как строку в число перевести? например string в int

String в Int - C++
Как можно преобразовать String в Int ? Не могли бы вы привести пример на массиве строк ?

15
KostyaKulakov
Заблокирован
14.08.2012, 17:26 #2
заключи в цикл. попробуй отуда вытащить и заточить в int
1
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
14.08.2012, 17:28 #3
Я пользуюсь такими функциями:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
long long my_atoll(string instr)  //преобразует string  в число типа long long
{
    long long retval = 0;
    string::iterator iter = instr.begin();
    for (int i = 0; iter!=instr.end(); iter++) {
        retval = 10*retval + (*iter - '0');
    }
    return retval;
}
 
template <class T>
string numberToString(T val) //преобразует число в string
{
    string str;
    stringstream ss;
    ss<<val;
    ss>>str;
    return str;
}
1
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
14.08.2012, 17:29  [ТС] #4
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string x = "5";
    string y = "32";
 
    cout << "x: " << x << ' ' << "y: " << y << endl;
 
    string result = x + y;
    cout << endl << result << endl;
}
А наоборот int в string можно?
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
14.08.2012, 17:33 #5
Цитата Сообщение от Egor138 Посмотреть сообщение
string result = x + y;
Это конкатенация строк, а вам походу нужно получить сумму чисел хранящихся в строках.
2
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
14.08.2012, 17:44 #6
Цитата Сообщение от yuron_477 Посмотреть сообщение
long long my_atoll(string instr) *//преобразует string *в число типа long long
{
* * long long retval = 0;
* * string::iterator iter = instr.begin();
* * for (int i = 0; iter!=instr.end(); iter++) {
* * * * retval = 10*retval + (*iter - '0');
* * }
* * return retval;
}
а зачем так мудрить? во первых зачем итератор? а во вторых можно и с помощью stringstream-а
1
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
14.08.2012, 17:46  [ТС] #7
Цитата Сообщение от yuron_477 Посмотреть сообщение
long long my_atoll(string instr) //преобразует string в число типа long long
{
long long retval = 0;
string::iterator iter = instr.begin();
for (int i = 0; iter!=instr.end(); iter++) {
retval = 10*retval + (*iter - '0');
}
return retval;
}
А можно немного подробнее, а то что то я не совсем разобрался

Добавлено через 48 секунд
Цитата Сообщение от aram_gyumri Посмотреть сообщение
а зачем так мудрить? во первых зачем итератор? а во вторых можно и с помощью stringstream-а


Предложи свой способ
0
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
14.08.2012, 17:49 #8
Цитата Сообщение от Egor138 Посмотреть сообщение
Предложи свой способ
C++
1
2
3
4
5
6
7
long long my_atoll(std::string instr)  //преобразует string  в число типа long long
{
    long long retval;
    std::stringstream ss(instr);
    ss>>retval;
    return retval;
}
1
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
14.08.2012, 17:51 #9
C++
1
2
3
4
5
char buffer [16];
std::string x = "1";
std::string y = "2";
::sprintf (buffer, "%d", ::atoi (x.c_str(()) + ::atoi(y.c_str()));
std::string z = buffer;
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
14.08.2012, 18:01 #10
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
 
int main()
{
    std::string s = "123232";
    long long ll = std::stoll(s);
    std::cout << ll << std::endl;
    std::string s2 = std::to_string(ll);
    std::cout << s2 << std::endl;
}
http://liveworkspace.org/code/1b08bc3df48c795268a223d92ad92ec7
0
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
14.08.2012, 18:03 #11
ForEveR, std::to_string это из С++11?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
14.08.2012, 18:04 #12
aram_gyumri, Ага. std::stoll аналогично.
1
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
14.08.2012, 18:14 #13
А где можно найти описания всех новых функций которые появились в С++11?
0
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
14.08.2012, 18:17 #14
http://en.cppreference.com/w/
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
14.08.2012, 18:23 #15
yuron_477, В стандарте языка. Наиболее полно и четко исключительно там.
0
14.08.2012, 18:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2012, 18:23
Привет! Вот еще темы с ответами:

Int to string - C++
Помогите перевести из Int в String, среда разработки: VS10 Express

Int to String - C++
Подскажите стандартную функцию для конвертирования Int to String или других чисел в string

string to int, int to string - C++
Вообщем интересует сабж. Нашел в интернете две функции atoi &amp; itoa. Как-то не сраслось с ними. Может пояснит кто их работу, пожалуйста....

из int в string - C++
объясните ,пжлста, где ошибка. собственно задание такое: Enter one real and one integer number: 2.71828183 1392 The real is: _ _ _ _...


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

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

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