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

Преобразование string в int - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.76
ilya_123
1 / 1 / 0
Регистрация: 05.01.2012
Сообщений: 11
22.01.2012, 10:29     Преобразование string в int #1
нужно текст (string) из textBox преобразовать в число (int)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2012, 10:29     Преобразование string в int
Посмотрите здесь:

Преобразование string в int C++
C++ Преобразование string в int
Преобразование string в int C++
C++ Преобразование int в string и слияние строк
Преобразование int в string C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
m0nAde
 Аватар для m0nAde
4 / 4 / 1
Регистрация: 03.09.2011
Сообщений: 26
22.01.2012, 11:58     Преобразование string в int #2
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
// StringToInt.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
#include "stdlib.h"
 
int MyAtoi(char[]);
int main(int argc, char* argv[])
{
    char a[100]="437657";
    int k=MyAtoi(a);
    cout<<k<<endl;
    return 0;
}
int MyAtoi(char a[])
{
    int s=0;
    int al=strlen(a);
    int k=1;
    for(int i=0;i<al-1;i++)
    {
        k*=10;
    }
    for(i=0;a[i]!=0;i++)
    {
        s+=(a[i]-'0')*k;
        k/=10;
    }
    return s;
}
Добавлено через 4 минуты
Это стандартное функция Атои,(Arround To Integer)
а если вам надо преоброзовать стринг (т.е. коди символов в инт),честно говоря не знаю где это прегодится,но ща напишу этт алгаритм...

Добавлено через 4 минуты
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
// StringToIntSimbols.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
 
 
int main(int argc, char* argv[])
{
    char a[100]="dsvjn zsv cjb";
    int s=0;
    for(int i=0;a[i]!=0;i++)
    {
        cout<<(int)a[i]<<endl;
    }
    cout<<endl;
    for(i=0;a[i]!=0;i++)
    {
        s+=(int)a[i];
    }
    cout<<s<<endl;
    return 0;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 12:09     Преобразование string в int #3
m0nAde, речь идет о std::string, наверное. Для cha* есть strtok, etc.
Ilyawow
24 / 24 / 5
Регистрация: 18.11.2011
Сообщений: 266
22.01.2012, 16:39     Преобразование string в int #4
в Си можно сделать так. нашел в строке откуда начинается отсчет а там sscanf
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
22.01.2012, 16:44     Преобразование string в int #5
Если вам нужно перевести std::string в int, то можете использовать промежуточный тип std::stringstream. Точно не помню, но вроде бы должно выглядеть как-то так.

C++
1
2
3
4
5
std::stringstream A;
std::string B = "123";
int C;
A << B;
A >> C;
petrole
2 / 2 / 0
Регистрация: 22.01.2012
Сообщений: 6
22.01.2012, 16:51     Преобразование string в int #6
string можно представить в виде char* c помощью функции c_str();

C++
1
2
string test="12345";
int a=atoi( test.c_str() );
Должно работать.
m0nAde
 Аватар для m0nAde
4 / 4 / 1
Регистрация: 03.09.2011
Сообщений: 26
27.01.2012, 11:39     Преобразование string в int #7
aaa понятно,я не дошел до этого раздела
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
27.01.2012, 11:53     Преобразование string в int #8
Вот, как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main()
{
        std::string str("123");
        int val = boost::lexical_cast<int>(str);
        
        std::cout << val << std::endl;
        
        return 0;
}
http://liveworkspace.org/code/75f584...b413aa67d75c0e
n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
27.01.2012, 11:57     Преобразование string в int #9
Цитата Сообщение от go Посмотреть сообщение
Вот, как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main()
{
        std::string str("123");
        int val = boost::lexical_cast<int>(str);
        
        std::cout << val << std::endl;
        
        return 0;
}
http://liveworkspace.org/code/75f584...b413aa67d75c0e
добрый день - ятока начал изучать с++ но почему такой геморой разве нет функции типо как в delphi

- IntToStr(value: int)
- StrToInt(value: string) (вход стринг "12345" а выход целое 12345)

такого аналога нет?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
27.01.2012, 11:59     Преобразование string в int #10
Цитата Сообщение от n971030 Посмотреть сообщение
такого аналога нет?
C++
1
2
boost::lexical_cast<int>(str);
boost::lexical_cast<std::string>(integer);

Все есть.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
27.01.2012, 12:52     Преобразование string в int #11
Цитата Сообщение от n971030 Посмотреть сообщение
добрый день - ятока начал изучать с++ но почему такой геморой разве нет функции типо как в delphi
http://www.cyberforum.ru/cpp-beginne...ml#post2411588
n971030
 Аватар для n971030
163 / 95 / 1
Регистрация: 23.01.2010
Сообщений: 1,169
27.01.2012, 15:03     Преобразование string в int #12
Цитата Сообщение от go Посмотреть сообщение
C++
1
2
boost::lexical_cast<int>(str);
boost::lexical_cast<std::string>(integer);

Все есть.
а че как сложно то???
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2012, 15:39     Преобразование string в int
Еще ссылки по теме:

C++ Преобразование string в int
C++ Преобразование int в string с сохранением нулей
Реализация функции char *padl(const char *string, int len, int c=' ') C++

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

Или воспользуйтесь поиском по форуму:
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
27.01.2012, 15:39     Преобразование string в int #13
Цитата Сообщение от n971030 Посмотреть сообщение
а че как сложно то???
Универсальность же. Одна функция для перегонки любого поддерживаемого типа в любой.
И ничего сложного здесь нету.
Yandex
Объявления
27.01.2012, 15:39     Преобразование string в int
Ответ Создать тему
Опции темы

Текущее время: 20:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru