Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 101, средняя оценка - 4.78
Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
#1

string в int - C++

15.08.2011, 14:56. Просмотров 12858. Ответов 12
Метки нет (Все метки)

народ подскажите пожалуйств как строку в число перевести?
например string в int
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2011, 14:56     string в int
Посмотрите здесь:

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

int в string - C++
У меня в переменных x и y содержатся определенные числа, причем переменные типа string. Мне нужно как то сложить эти числа и поместить в...

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
15.08.2011, 14:57     string в int #2
atoi()
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
15.08.2011, 15:04     string в int #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<string>
#include<sstream>
 
int main(){
    std::string str("123");
    std::istringstream ss(str);
    int a;
    ss>>a;
    std::cout<<"int a = "<<a<<std::endl;
    return 0;
}
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
15.08.2011, 15:04     string в int #4
C++
1
2
std::string str("123");
int num = boost::lexical_cast<int> (str);
Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 15:11  [ТС]     string в int #5
а можно на примере пожалуйста)

вставте пожалуйста сюда как ее использовать.. из s в a)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using namespace std;
int main()
{
       string s("");
       cout << "vvedi 4islo" << endl;
       cin>>s;
       int a;
         
         
         
       
       cout << a<< endl;
       system("pause");
       return 0;
       }
Добавлено через 4 минуты
Цитата Сообщение от Kastaneda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<string>
#include<sstream>
 
int main(){
    std::string str("123");
    std::istringstream ss(str);
    int a;
    ss>>a;
    std::cout<<"int a = "<<a<<std::endl;
    return 0;
}
а как например str[1] перевести
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
15.08.2011, 15:13     string в int #6
Цитата Сообщение от Ferk Посмотреть сообщение
а как например str[1] перевести
C++
1
int q = str[1]-48;
У каждого символа есть свой код. С с++ используется кодировка ASCII. В этой таблице сиволу '0' соответственное значени 48, '1' - 49, '2' - 50 и т.д.
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
15.08.2011, 15:41     string в int #7
Цитата Сообщение от Dani Посмотреть сообщение
C++
1
int q = str[1]-48;
Тогда так:
C++
1
    int q = str[1]-'0';
чтоб не зависить от кодировки.
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
15.08.2011, 15:45     string в int #8
Цитата Сообщение от Ferk Посмотреть сообщение
вставте пожалуйста сюда как ее использовать.. из s в a)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
       string s("");
       cout << "vvedi 4islo" << endl;
       cin>>s;
       int a;
 
       a=atoi(s.c_str());
 
       cout << a<< endl;
       system("pause");
       return 0;
}
Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 16:21  [ТС]     string в int #9
кому не трудно напишите пожалйста коминтарии-обьяснение к той части кода где я поставил палочки для коментария)))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<string>
#include<sstream>
 using namespace std;
int main(){
        string str("123");
        istringstream ss(str);  ///
        int a;
        ss>>a;                  /// 
        cout<<"int a = "<<a<<endl;
        
        system("pause");
        return 0;
}
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
15.08.2011, 16:35     string в int #10
инициализируем строковый поток ss строкой str
из str читаем в переменную a
http://www.cppreference.com/wiki/ru/io/sstream/start
Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 16:55  [ТС]     string в int #11
спасибо всем большое)) очень помогла информация))

обьясните еще пожалуйста зачем в строке

C++
1
int q=s[2]-48;

зачем отнимать код символа?))

заранее спасибо))
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
15.08.2011, 17:29     string в int #12
Цитата Сообщение от Ferk Посмотреть сообщение
палочки для коментария)))
Палочки называются слэшами

Добавлено через 6 минут
Цитата Сообщение от Ferk Посмотреть сообщение
зачем отнимать код символа?))
Допустим есть строка
C++
1
string s="12345";
Нам нужно извлечь первый символ, с индексом ноль.
C++
1
s[1]=='1'
Так как это не число, а символ, то у него есть специальный код. Примеры
'0' = 48
'1' = 49
'2' = 50
'3' = 51
'4' = 52
...
'9' = 57.
Но если у нас есть код символа, нужно число то мы ищем закономерность: чтобы из кода '0' получить 0 тогда надо от кода '0' отнять 48 (код '0'). Для '1' тоже самое, для 2... Т.к. идет прибавление 1 в каждый последующий символ цифры, то надо вычитать 48.
P.S. Если непонятно - порисуйте немного на бумаге, выписав коды символов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2011, 17:35     string в int
Еще ссылки по теме:

из String в Int как? - C++
Раньше писал на C# и VBasic,там все очень просто было. Здесь не могу понять как конвертировать,поясните пожалуйста. Пишу в QT Creator. ...

HEX string => int - C++
Доброе время суток. Возникла необходимость преобразовать шестнадцатиричную строку в int. Пробовал разные вариации с sprintf, но они не...

Перевести INT в STRING - C++
Ребят,кто знает функцию ,чтобы с помощью нее перевести число в строку? ну типа int a=565; string b; потом...

Преобразование string в int - C++
Помогите пожалуйста с преобразованием string к типу int, быть может не напрямую но хоть как нибудь, очень надо!!!

Преобразование string в int - C++
нужно текст (string) из textBox преобразовать в число (int)


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

Или воспользуйтесь поиском по форуму:
Ferk
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
15.08.2011, 17:35  [ТС]     string в int #13
спасибо большое)) все понятно терь ))
Yandex
Объявления
15.08.2011, 17:35     string в int
Ответ Создать тему
Опции темы

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